/* «من ذاكرة مكة» — ivory, deep historical green, muted gold. Originals are shown as they are. */
.mm{--mm-ivory:#F7F3EB;--mm-green:#173D37;--mm-gold:#B79560;--mm-text:#4E5E56;--mm-bg:#F7F3EB;--mm-card:#fff;--mm-line:#E6DECF;--mm-head:#173D37;--mm-soft:#FBF8F2;--mm-eyebrow:#7E5B1B;background:var(--mm-bg);color:var(--ink)}
@media (prefers-color-scheme:dark){.mm{--mm-bg:var(--bg);--mm-card:var(--surface);--mm-line:var(--line);--mm-head:#E8D9B5;--mm-text:#C9D1CC;--mm-soft:var(--surface-2);--mm-eyebrow:var(--gold)}}
.mm-draft{margin:0;padding:8px 16px;background:#FDF0D5;color:#5A3B00;text-align:center;font-size:.85rem;font-weight:600}

/* Hero */
.mm-hero{background:var(--mm-green);color:#F7F3EB;padding:28px 0 36px}
.mm-hero-in{display:grid;gap:24px;align-items:center}
@media (min-width:900px){.mm-hero-in{grid-template-columns:1fr 1.1fr;gap:40px;padding-block:20px}}
.mm-hero .crumbs a,.mm-hero .crumbs li{color:#CFD9D3}
.mm-hero .eyebrow{color:var(--mm-gold)}
.mm-title{font-size:clamp(2.2rem,8vw,3.6rem);line-height:1.15;margin:4px 0 10px;color:#FBF3E4}
.mm-lead{font-size:1.08rem;line-height:1.9;color:#E8EEEA;margin:0 0 10px}
.mm-promise{font-family:var(--f-sacred);font-size:1.15rem;color:var(--mm-gold);margin:0 0 18px}
.mm-cta{display:flex;flex-wrap:wrap;gap:10px}
.mm-hero-fig{margin:0}
.mm-hero-fig img{display:block;width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:var(--r);border:1px solid rgba(183,149,96,.5)}
.mm-hero-fig figcaption{font-size:.78rem;color:#CFD9D3;margin-top:8px;line-height:1.6}

/* Sections */
.mm-sec{padding:40px 0 8px}
.mm-sec-head h2{margin:2px 0 6px;color:var(--mm-head)}
.mm-sec-head .muted{max-width:62ch}
.mm .eyebrow{color:var(--mm-eyebrow)}
.mm-hero .eyebrow{color:var(--mm-gold)}

/* Timeline */
.mm-tl{list-style:none;margin:16px 0 0;padding:4px 2px 14px;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;border-top:2px solid var(--mm-gold)}
.mm-tl:focus-visible{outline:3px solid var(--mm-gold);outline-offset:4px}
.mm-tl-stop{flex:0 0 min(78%,260px);scroll-snap-align:start;padding-top:14px;position:relative}
.mm-tl-stop::before{content:"";position:absolute;top:-8px;inset-inline-start:0;width:14px;height:14px;border-radius:50%;background:var(--mm-green);border:3px solid var(--mm-bg)}
.mm-tl-year{display:block;font-weight:700;font-size:1.4rem;color:var(--mm-head);margin-bottom:8px;font-variant-numeric:tabular-nums}
.mm-tl-stop ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mm-tl-stop a{display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px;background:var(--mm-card);border:1px solid var(--mm-line);color:var(--ink);text-decoration:none;min-height:56px}
.mm-tl-stop a:hover{border-color:var(--mm-gold)}
.mm-tl-stop img{width:52px;height:52px;object-fit:cover;border-radius:8px;flex:none}
.mm-tl-stop span{font-size:.9rem;line-height:1.5}

/* Filters */
.mm-filters{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin:14px 0 18px}
.mm-filters [role=group]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.mm-flabel{font-size:.82rem;color:var(--muted);margin-inline-end:4px}
.mm-chip{min-height:40px;padding:4px 14px;border-radius:999px;border:1px solid var(--mm-line);background:var(--mm-card);color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.mm-chip[aria-pressed=true]{background:var(--mm-green);border-color:var(--mm-green);color:#fff}
.mm-chip:focus-visible{outline:3px solid var(--mm-gold);outline-offset:2px}
.mm-count{margin:0;font-size:.85rem;color:var(--muted)}

/* Grid */
.mm-grid{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.mm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.mm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mm-grid>li{min-width:0}
.mm-grid>li[hidden]{display:none}
.mm-card{display:flex;flex-direction:column;height:100%;background:var(--mm-card);border:1px solid var(--mm-line);border-radius:var(--r);overflow:hidden;color:var(--ink);text-decoration:none;transition:box-shadow .15s ease}
.mm-card:hover{color:var(--ink);box-shadow:var(--shadow)}
.mm-card:focus-visible{outline:3px solid var(--mm-gold);outline-offset:3px}
.mm-card-img{display:block;aspect-ratio:4/3;background:#E9E2D3;overflow:hidden}
.mm-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.mm-card-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.mm-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mm-kind{font-size:.75rem;color:var(--mm-eyebrow);font-weight:600}
.mm-card-title{font-weight:700;font-size:1.08rem;color:var(--mm-head)}
.mm-card-date{font-size:.82rem;color:var(--muted)}
.mm-card-ex{font-size:.9rem;line-height:1.7;color:var(--mm-text)}
.mm-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:1px 8px;border-radius:999px;border:1px solid}
.mm-badge.is-pd{color:#1E6A50;border-color:#9CC9B4;background:#E8F4EE}
.mm-badge.is-nkr{color:#7A4B00;border-color:#E3C27E;background:#FDF3DE}
.mm-badge.is-check{color:#8A3A12;border-color:#E9B293;background:#FBEBE2}
.mm-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:120px;color:var(--muted);font-size:.85rem}

/* Maps, soon, sources */
.mm-warn{background:var(--mm-card);border-inline-start:4px solid var(--mm-gold);padding:12px 16px;border-radius:8px;color:var(--mm-text);max-width:70ch}
.mm-maplist{line-height:2}
.mm-soon{list-style:none;padding:0;margin:0;display:grid;gap:10px}
@media (min-width:760px){.mm-soon{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mm-soon li{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px dashed var(--mm-line);border-radius:var(--r-sm);background:var(--mm-soft)}
.mm-soon span{font-size:.88rem;color:var(--muted)}
.mm-archives{line-height:2}
.mm-rights{display:grid;gap:4px 0;margin:10px 0 14px}
.mm-rights dt{font-weight:600;color:var(--mm-head)}
.mm-rights dd{margin:0 0 8px;color:var(--mm-text)}
.mm-atlas{padding-bottom:48px}

/* Item page */
.mm-item .page-head{background:var(--mm-green)}
.mm-figwrap{padding-top:22px}
.mm-fig{margin:0 auto;max-width:960px}
.mm-fig img{display:block;width:100%;height:auto;border-radius:var(--r-sm);background:#E9E2D3;border:1px solid var(--mm-line)}
.mm-fig figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);margin-top:8px;line-height:1.6}
.mm-zoom-btn{display:inline-flex;align-items:center;text-decoration:none;min-height:40px;padding:4px 14px;border-radius:999px;border:1px solid var(--mm-head);background:var(--mm-card);color:var(--mm-head);font:inherit;font-size:.85rem;cursor:pointer}
.mm-zoom{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0f1f1c}
.mm-zoom::backdrop{background:rgba(0,0,0,.7)}
.mm-zoom-bar{position:sticky;top:0;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 14px;background:#0f1f1c;color:#fff;font-size:.9rem;z-index:1}
.mm-zoom-bar a{color:#F3E7CF}
.mm-zoom-bar button{min-height:40px;padding:4px 16px;border-radius:999px;border:1px solid #F3E7CF;background:transparent;color:#fff;font:inherit;cursor:pointer}
.mm-zoom-pane{overflow:auto;height:calc(100vh - 60px)}
.mm-zoom-pane img{display:block;max-width:none;width:auto;height:auto;min-width:100%}
.mm-look{margin:18px 0;padding:14px 16px;border-radius:var(--r-sm);background:var(--mm-card);border-inline-start:4px solid var(--mm-gold)}
.mm-note{font-size:.9rem;color:#7A4B00;background:#FDF3DE;padding:10px 14px;border-radius:8px}
.mm-doc{margin:28px 0;padding:18px;border-radius:var(--r);background:var(--mm-card);border:1px solid var(--mm-line)}
.mm-doc dl{display:grid;grid-template-columns:minmax(0,1fr);gap:2px 16px;margin:10px 0 14px}
@media (min-width:640px){.mm-doc dl{grid-template-columns:150px minmax(0,1fr)}}
.mm-doc dt{font-weight:600;color:var(--mm-head);font-size:.88rem}
.mm-doc dd{margin:0 0 8px;font-size:.92rem;overflow-wrap:anywhere}
.mm-pn{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin:24px 0}
@media (min-width:640px){.mm-pn{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mm-pn a{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;background:var(--mm-card);border:1px solid var(--mm-line);text-decoration:none;color:var(--mm-head);font-weight:600}
.mm-pn small{color:var(--muted);font-weight:400}
.mm-pn-next{text-align:end}
@media (prefers-reduced-motion:reduce){.mm-card{transition:none}.mm-tl{scroll-behavior:auto}}
.mm-item .btn{white-space:normal;max-width:100%;height:auto;line-height:1.5}
