/* ========= صفحات داخلية: الفنادق ومناسك العمرة ========= */
.page{padding-top:0}
.section--tight{padding-top:clamp(40px,5vw,64px)}

/* ---------- hero صغير ---------- */
.phero{position:relative;padding:calc(var(--nav-h) + 70px) 0 clamp(44px,6vw,72px);overflow:hidden;text-align:center}
.phero__bg{position:absolute;inset:0;z-index:-1;
  background:radial-gradient(90% 70% at 50% 0%,#0d3a2d 0%,#071a15 48%,var(--ink) 100%)}
:root[data-theme="light"] .phero__bg{
  background:radial-gradient(90% 70% at 50% 0%,#e9f1ec 0%,#f5f1e6 48%,var(--ink) 100%)}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .phero__bg{
    background:radial-gradient(90% 70% at 50% 0%,#e9f1ec 0%,#f5f1e6 48%,var(--ink) 100%)}
}
.phero__bg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(50% 60% at 50% 20%,rgba(201,162,39,.16),transparent 70%)}
.phero .sec-head__kicker{margin-bottom:16px}
.phero__title{font-size:clamp(30px,5.4vw,58px);letter-spacing:-.01em}
.phero__sub{max-width:680px;margin:20px auto 0;color:var(--muted);font-size:17px}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}
.tab{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:100px;
  border:1px solid var(--line);font-weight:700;font-size:15.5px;color:var(--muted);
  transition:background .35s,color .35s,border-color .35s}
.tab b{font-family:"Tajawal",sans-serif;font-size:12.5px;padding:2px 9px;border-radius:100px;
  background:rgba(201,162,39,.16);color:var(--gold-2)}
.tab:hover{color:var(--cream);border-color:var(--gold)}
.tab.is-on{background:var(--grad-gold);color:#0a1a14;border-color:transparent}
.tab.is-on b{background:rgb(var(--bg-rgb)/.22);color:#0a1a14}

/* ---------- tools ---------- */
.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:22px}
.tools__search{position:relative;flex:1;min-width:250px}
.tools__search svg{position:absolute;inset-inline-start:16px;top:50%;translate:0 -50%;width:18px;height:18px;color:var(--gold-2)}
.tools__search input{width:100%;padding:14px 46px 14px 18px;border-radius:100px;border:1px solid var(--line);
  background:rgb(var(--bg-rgb)/.6);color:var(--cream);font-family:inherit;font-size:15px;outline:none;transition:border-color .3s,box-shadow .3s}
.tools__search input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,162,39,.12)}
.tools__filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tools__filters select{padding:13px 40px 13px 16px;border-radius:100px;border:1px solid var(--line);
  background:rgb(var(--bg-rgb)/.6);color:var(--cream);font-family:inherit;font-size:14.5px;outline:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%23C9A227' stroke-width='1.6'%3E%3Cpath d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 16px center;cursor:pointer}
.tools__filters select option{background:#081713}
.chk{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;color:var(--muted);cursor:pointer;
  padding:12px 18px;border:1px solid var(--line);border-radius:100px}
.chk input{width:17px;height:17px;accent-color:var(--gold)}

/* ---------- map ---------- */
.mapwrap{position:relative;margin-bottom:26px}
.map{height:min(60svh,520px);border-radius:var(--r);border:1px solid var(--line);overflow:hidden;z-index:1;background:#07231c}
.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.92) saturate(.65)}
.leaflet-container{background:#07231c;font-family:"Tajawal",sans-serif}
.leaflet-control-attribution{background:rgb(var(--bg-rgb)/.8)!important;color:var(--muted)!important;font-size:11px}
.leaflet-control-attribution a{color:var(--gold-2)!important}
.leaflet-bar a{background:#0b201a!important;color:var(--gold-2)!important;border-color:var(--line)!important}
.leaflet-bar a:hover{background:#125944!important}
.leaflet-popup-content-wrapper{background:var(--ink-2);color:var(--cream);border:1px solid var(--line);border-radius:14px}
.leaflet-popup-tip{background:var(--ink-2);border:1px solid var(--line)}
.leaflet-popup-content{margin:14px 16px;direction:rtl}
.pop{display:grid;gap:5px}
.pop b{font-family:"Amiri",serif;font-size:17px;color:var(--gold-2)}
.pop i{font-style:normal;font-size:12.5px;color:var(--muted)}
.pop span{font-size:13px;color:rgb(var(--fg-rgb)/.85)}
.pop em{font-style:normal;color:var(--gold);letter-spacing:.1em}
.pop a{font-size:13px;color:var(--gold-2);text-decoration:underline}
.mk--haram i{display:block;width:16px;height:16px;border-radius:50%;background:var(--grad-gold);
  box-shadow:0 0 0 6px rgba(201,162,39,.25),0 0 22px rgba(201,162,39,.8);translate:-50% -50%}
.mk--haram b{position:absolute;translate:-50% 8px;white-space:nowrap;font-family:"Amiri",serif;font-size:14px;
  color:var(--gold-2);text-shadow:0 2px 8px #020806,0 0 14px #020806}
.map__legend{position:absolute;bottom:14px;inset-inline-start:14px;z-index:400;display:flex;gap:14px;flex-wrap:wrap;
  padding:10px 16px;border-radius:100px;background:rgb(var(--bg-rgb)/.85);border:1px solid var(--line);backdrop-filter:blur(8px)}
.map__legend span{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.dot{width:9px;height:9px;border-radius:50%;display:block}
.dot--haram{background:var(--gold)}.dot--near{background:#4ade80}.dot--mid{background:#F3DFA6}.dot--far{background:#e08f7a}

/* ---------- hotel list ---------- */
.listnote{font-size:14px;color:var(--muted);margin-bottom:14px}
.hlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.hcard{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px;border-radius:var(--r);
  border:1px solid var(--line);background:rgb(var(--bg-rgb)/.55);cursor:pointer;
  transition:border-color .3s,transform .35s var(--ease),background .3s}
.hcard:hover{border-color:rgba(201,162,39,.5);transform:translateY(-3px);background:rgba(18,89,68,.16)}
.hcard:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hcard__dist{display:grid;place-content:center;justify-items:center;width:72px;height:72px;border-radius:16px;
  border:1px solid var(--line);background:rgb(var(--bg-rgb)/.5)}
.hcard__dist b{font-family:"Amiri",serif;font-size:22px;line-height:1}
.hcard__dist i{font-style:normal;font-size:11px;color:var(--muted)}
.hcard__dist--near b{color:#7ee2a3}.hcard__dist--near{border-color:rgba(74,222,128,.35)}
.hcard__dist--mid  b{color:var(--gold-2)}
.hcard__dist--far  b{color:#eaa094}
.hcard__main h3{font-size:18px;line-height:1.4}
.hcard__en{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.hcard__meta{margin:7px 0 0;display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.hcard__stars{color:var(--gold);letter-spacing:.1em}
.hcard__acts{grid-column:2;display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hbtn{padding:7px 14px;border-radius:100px;border:1px solid var(--line);font-size:12.5px;color:var(--gold-2);
  transition:background .3s,color .3s,border-color .3s}
.hbtn:hover{background:var(--grad-gold);color:#0a1a14;border-color:transparent}
.hbtn--map{color:var(--muted)}
.more{display:flex;justify-content:center;margin-top:26px}
.src{margin-top:30px;font-size:12.5px;color:var(--muted);text-align:center}
.src a{color:var(--gold-2);text-decoration:underline}

@media (max-width:600px){
  .hlist{grid-template-columns:1fr}
  .map{height:56svh}
  .map__legend{gap:9px;padding:8px 12px}
  .map__legend span{font-size:11px}
}

/* ========= مناسك العمرة ========= */
.riteswrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,52px);align-items:start}
.rites__diagram{position:sticky;top:calc(var(--nav-h) + 20px)}

#haramMap{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(18,89,68,.14),rgb(var(--bg-rgb)/.5))}
.g-rite{transition:opacity .5s var(--ease)}
.g-rite.is-dim{opacity:.18}
.lbl{font-family:"Amiri",serif;font-size:19px;fill:var(--cream)}
.lbl--gold{fill:var(--gold-2)}
.lbl--dim{fill:rgb(var(--fg-rgb)/.45);font-size:16px;letter-spacing:.1em}
.lbl--sm{font-family:"Tajawal",sans-serif;font-size:13px;fill:rgb(var(--fg-rgb)/.8)}
.lbl--xs{font-family:"Tajawal",sans-serif;font-size:11.5px;fill:rgb(var(--fg-rgb)/.6)}
.lbl--green{fill:#7ee2a3}
.diagram-note{margin-top:14px;font-size:12.5px;color:var(--muted);text-align:center}

.rites__steps{display:grid;gap:12px}
.rite{border:1px solid var(--line);border-radius:var(--r);background:rgb(var(--bg-rgb)/.55);overflow:hidden;
  transition:border-color .4s,background .4s}
.rite.is-open{border-color:rgba(201,162,39,.5);background:rgba(18,89,68,.16)}
.rite header{display:flex;align-items:center;gap:14px;padding:20px 22px;cursor:pointer}
.rite__no{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);font-family:"Amiri",serif;font-size:19px;color:var(--gold-2);transition:background .4s,color .4s}
.rite.is-open .rite__no{background:var(--grad-gold);color:#0a1a14;border-color:transparent}
.rite header h2{font-size:22px;flex:1}
.rite__x{position:relative;flex:none;width:20px;height:20px}
.rite__x::before,.rite__x::after{content:"";position:absolute;inset-inline:0;top:50%;height:1.5px;background:var(--gold-2);transition:transform .4s var(--ease)}
.rite__x::after{transform:rotate(90deg)}
.rite.is-open .rite__x::after{transform:rotate(0)}
.rite__body{display:none;padding:0 22px 24px}
.rite.is-open .rite__body{display:block;animation:fadeUp .5s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rite__body p{color:rgb(var(--fg-rgb)/.85);font-size:15.5px}
.rite__body h4{font-size:14px;letter-spacing:.14em;color:var(--gold-2);margin:22px 0 12px}

.miqats{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin-top:22px}
.miqat{display:grid;gap:4px;padding:18px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:rgb(var(--bg-rgb)/.55);cursor:pointer;transition:border-color .3s,transform .35s var(--ease)}
.miqat:hover{border-color:rgba(201,162,39,.5);transform:translateY(-3px)}
.miqat:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.miqat b{font-family:"Amiri",serif;font-size:19px;color:var(--gold-2)}
.miqat span{font-size:13px;color:var(--muted)}
.miqat em{font-style:normal;font-size:12.5px;color:rgb(var(--fg-rgb)/.8)}

@media (max-width:900px){
  .riteswrap{grid-template-columns:1fr}
  .rites__diagram{position:static}
}

/* ---------- خطوات تفاعلية ---------- */
.stepbar{margin-bottom:18px}
.stepbar__track{height:3px;border-radius:3px;background:rgb(var(--fg-rgb)/.12);overflow:hidden}
.stepbar__track i{display:block;height:100%;width:25%;background:var(--grad-gold);
  box-shadow:0 0 14px rgba(201,162,39,.7);transition:width .6s var(--ease)}
.stepbar__dots{display:flex;gap:8px;justify-content:center;margin-top:14px}
.stepbar__dots button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  font-family:"Amiri",serif;font-size:16px;color:var(--muted);transition:background .35s,color .35s,border-color .35s}
.stepbar__dots button:hover{color:var(--gold-2);border-color:var(--gold)}
.stepbar__dots button.is-on{background:var(--grad-gold);color:#0a1a14;border-color:transparent}

.rite__pic{margin:0 0 18px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line);position:relative}
.rite__pic img{width:100%;height:190px;object-fit:cover;transition:transform 1s var(--ease)}
.rite__pic:hover img{transform:scale(1.05)}
.rite__pic figcaption{position:absolute;bottom:0;inset-inline:0;padding:22px 16px 12px;font-size:13px;
  background:linear-gradient(transparent,rgb(var(--shade)/.92))}

.stepnav{display:flex;gap:10px;margin-top:6px}
.stepnav .btn{flex:1}
.stepnav .btn:disabled{opacity:.4;pointer-events:none}

/* ---------- عدّاد الأشواط ---------- */
.counter{margin:18px 0;padding:18px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(18,89,68,.22),rgb(var(--bg-rgb)/.45))}
.counter__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.counter__head b{font-family:"Amiri",serif;font-size:18px;color:var(--gold-2)}
.counter__head span{font-size:12.5px;color:var(--muted)}
.counter__beads{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.counter__beads i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;
  border:1px solid var(--line);font-family:"Amiri",serif;font-size:16px;color:var(--muted);
  transition:background .4s var(--ease),color .4s,transform .4s var(--ease),border-color .4s}
.counter__beads i.is-on{background:var(--grad-gold);color:#0a1a14;border-color:transparent;transform:scale(1.06);
  box-shadow:0 0 18px rgba(201,162,39,.45)}
.counter__acts{display:flex;gap:8px;flex-wrap:wrap}
.counter__acts button{padding:9px 18px;border-radius:100px;border:1px solid var(--line);font-size:13.5px;
  color:var(--cream);transition:background .3s,color .3s,border-color .3s}
.counter__acts button:first-child{background:var(--grad-gold);color:#0a1a14;border-color:transparent;font-weight:700}
.counter__acts button:not(:first-child):hover{border-color:var(--gold);color:var(--gold-2)}
.counter__done{display:none;margin:14px 0 0;padding:12px 16px;border-radius:var(--r-sm);font-size:13.5px;
  background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.4);color:#9deeb8}
.counter.is-done .counter__done{display:block;animation:fadeUp .5s var(--ease)}

/* ---------- أدعية ---------- */
.dua{position:relative;margin:18px 0;padding:18px 18px 44px;border-radius:var(--r-sm);
  border:1px solid rgba(201,162,39,.4);background:rgba(201,162,39,.07)}
.dua__ttl{display:block;font-size:12px;letter-spacing:.16em;color:var(--gold-2);margin-bottom:8px}
.dua p{margin:0;font-family:"Amiri",serif;font-size:19px;line-height:1.9;color:var(--cream)}
.dua__copy{position:absolute;bottom:12px;inset-inline-start:16px;padding:6px 16px;border-radius:100px;
  border:1px solid var(--line);font-size:12.5px;color:var(--gold-2);transition:background .3s,color .3s}
.dua__copy:hover{background:var(--grad-gold);color:#0a1a14;border-color:transparent}

/* ---------- المخطط: متحرك + نقاط ---------- */
.walker{filter:drop-shadow(0 0 10px rgba(243,223,166,.9));transition:opacity .5s}
.hot{fill:transparent;cursor:pointer;transition:fill .3s}
.hot:hover{fill:rgba(201,162,39,.16)}
.hotcard{position:absolute;inset-inline:16px;bottom:16px;padding:14px 18px;border-radius:var(--r-sm);
  background:rgb(var(--bg-rgb)/.94);border:1px solid rgba(201,162,39,.5);backdrop-filter:blur(10px);
  animation:fadeUp .3s var(--ease);pointer-events:none}
.hotcard b{display:block;font-family:"Amiri",serif;font-size:18px;color:var(--gold-2);margin-bottom:4px}
.hotcard p{margin:0;font-size:13.5px;color:rgb(var(--fg-rgb)/.85);line-height:1.7}
.rites__diagram{position:sticky;top:calc(var(--nav-h) + 20px)}

.rites__diagram{position:sticky;top:calc(var(--nav-h) + 20px)}
.rites__diagram > *:first-child{position:relative}
.rites__diagram{isolation:isolate}

/* ---------- الثيم الفاتح: الخرائط والمخطط ---------- */
:root[data-theme="light"] .leaflet-tile-pane{filter:none}
:root[data-theme="light"] .leaflet-container,
:root[data-theme="light"] .map{background:#e8efe9}
:root[data-theme="light"] .leaflet-bar a{background:#fff!important;color:#8A6D14!important}
:root[data-theme="light"] .leaflet-control-attribution{background:rgba(255,255,255,.85)!important}
:root[data-theme="light"] .mk--haram b{text-shadow:0 2px 8px #fff,0 0 14px #fff}
:root[data-theme="light"] #haramMap{background:linear-gradient(160deg,#F4EFE3,#fff)}
:root[data-theme="light"] .rite__pic figcaption{background:linear-gradient(transparent,rgb(var(--bg-rgb)/.9));color:#F4EFE4}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .leaflet-tile-pane{filter:none}
  :root:not([data-theme="dark"]) .leaflet-container,
  :root:not([data-theme="dark"]) .map{background:#e8efe9}
  :root:not([data-theme="dark"]) .leaflet-bar a{background:#fff!important;color:#8A6D14!important}
  :root:not([data-theme="dark"]) .leaflet-control-attribution{background:rgba(255,255,255,.85)!important}
  :root:not([data-theme="dark"]) .mk--haram b{text-shadow:0 2px 8px #fff,0 0 14px #fff}
  :root:not([data-theme="dark"]) #haramMap{background:linear-gradient(160deg,#F4EFE3,#fff)}
  :root:not([data-theme="dark"]) .rite__pic figcaption{background:linear-gradient(transparent,rgb(var(--bg-rgb)/.9));color:#F4EFE4}
}

/* ========= خارطة رحلة العمرة ========= */
.jmap__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}

.jmap{position:relative;display:grid;gap:14px}
/* المسار المتعرّج بين الخطوات */
.jmap::before{content:"";position:absolute;inset-block:34px;inset-inline-start:calc(50% - 1px);width:2px;
  background:repeating-linear-gradient(180deg,var(--gold) 0 7px,transparent 7px 16px);opacity:.4}

.jstep{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:18px;
  width:min(100%,560px);padding:20px 22px;border-radius:var(--r);
  border:1px solid var(--line);background:var(--card);
  opacity:0;transform:translateY(26px);
  transition:opacity .7s var(--ease),transform .7s var(--ease),border-color .4s,box-shadow .4s;
  transition-delay:var(--d,0ms)}
.jstep.in{opacity:1;transform:none}
.jstep:hover{border-color:rgba(201,162,39,.5);box-shadow:0 26px 60px -34px rgba(0,0,0,.6)}
.jstep:nth-child(even){justify-self:start}
.jstep:nth-child(odd){justify-self:end}

.jstep__no{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:var(--grad-gold);color:#0a1a14;font-family:"Amiri",serif;font-size:19px;font-weight:700;
  box-shadow:0 0 0 5px rgb(var(--bg-rgb)/.9),0 0 26px rgba(201,162,39,.35)}
.jstep__icon{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(201,162,39,.08);color:var(--gold-text);
  transition:transform .5s var(--ease),background .4s}
.jstep__icon svg{width:26px;height:26px}
.jstep:hover .jstep__icon{transform:translateY(-3px) rotate(-6deg);background:rgba(201,162,39,.18)}
.jstep__body h2{font-size:20px;margin-bottom:5px}
.jstep__body p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.8}

.jmap__close{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
  margin:34px auto 0;padding:18px 26px;border-radius:100px;max-width:760px;text-align:center;
  border:1px solid rgba(201,162,39,.45);background:rgba(201,162,39,.08);
  font-family:"Amiri",serif;font-size:clamp(16px,2.2vw,21px);color:var(--gold-text)}
.jmap__close svg{width:22px;height:22px;flex:none}

.jmap__cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:30px;padding:26px 30px;border-radius:var(--r);
  border:1px solid var(--line);background:linear-gradient(160deg,rgba(18,89,68,.16),rgb(var(--bg-rgb)/.35))}
.jmap__cta b{display:block;font-family:"Amiri",serif;font-size:22px}
.jmap__cta span{font-size:14px;color:var(--muted)}
.jmap__btns{display:flex;gap:10px;flex-wrap:wrap}

@media (max-width:760px){
  .jmap::before{inset-inline-start:33px}
  .jstep{grid-template-columns:auto 1fr;gap:14px;padding:18px;width:100%;justify-self:stretch!important}
  .jstep__icon{display:none}
  .jstep__body h2{font-size:18px}
}

/* نسخة الطباعة */
@media print{
  .jp-grid{display:grid;grid-template-columns:1fr 1fr;gap:7pt 14pt;margin-bottom:10pt}
  .jp-step{display:flex;gap:7pt;break-inside:avoid;padding:6pt 8pt;border:.7pt solid #e4dcc2;
    border-radius:5pt;background:#fdfbf5}
  .jp-step b{flex:none;width:17pt;height:17pt;border-radius:50%;display:grid;place-items:center;
    background:#0b3b2e;color:#F3DFA6;font-family:"Amiri",serif;font-size:9.5pt}
  .jp-step h4{margin:0 0 1pt;font-size:9.5pt;color:#0b3b2e}
  .jp-step p{margin:0;font-size:7.8pt;color:#3b4a43;line-height:1.5}
}
