/* ═══════════════════════════════════════════════════════════════════
   MoroccoEntry — Zonas de inversión (mapa, paneles, gráficos, calculadora)
   Capa propia; depende de tokens + refine (--me-navy, --me-gold, --ds-*).
   ═══════════════════════════════════════════════════════════════════ */
.me-zones{--z-ink:var(--ds-ink);--z-ink2:var(--ds-ink2);--z-ink3:var(--ds-ink3);--z-line:var(--ds-line);--z-surf:#fff;--z-soft:var(--ds-bg2);--z-navy:var(--me-navy);--z-gold:var(--me-gold);--z-blu:var(--ds-blu);--z-grid:rgba(11,27,58,.08)}
html[data-theme="dark"] .me-zones{--z-surf:var(--ds-surface);--z-soft:var(--ds-surface2);--z-navy:#9FB6EE;--z-gold:#C9AC78;--z-grid:rgba(255,255,255,.08)}

/* ── Mapa ─────────────────────────────────────────────────────────── */
.me-zmap{position:relative}
.me-zones [hidden]{display:none!important}
.me-zmap__svg{width:100%;height:auto;display:block;font-family:var(--ds-font)}
.me-zmap__ref circle{fill:var(--ds-ink4);opacity:.6;r:1.6px}
.me-zmap__ref text{font-size:5.2px;fill:var(--ds-ink4);letter-spacing:.02em}
.me-zpin{cursor:pointer;outline:none;transition:opacity .25s}
.me-zpin__halo{opacity:0;transition:opacity .35s;transform-origin:center;transform-box:fill-box}
.me-zpin__ring{fill:none;stroke:var(--z-navy);stroke-opacity:.25;stroke-width:.7;transition:stroke .25s,stroke-opacity .25s,r .25s}
.me-zpin__dot{fill:var(--z-navy);stroke:var(--z-surf);stroke-width:1.2;transition:fill .25s,transform .25s;transform-origin:center;transform-box:fill-box}
.me-zpin__pct{font-size:4.6px;font-weight:700;fill:#fff;pointer-events:none;letter-spacing:-.02em}
.me-zpin__name{font-size:7px;font-weight:600;fill:var(--z-ink);pointer-events:none;letter-spacing:-.01em}
.me-zpin__sub{font-size:5.4px;fill:var(--z-ink3);pointer-events:none;font-variant-numeric:tabular-nums}
.me-zpin:hover .me-zpin__dot,.me-zpin:focus-visible .me-zpin__dot{transform:scale(1.12)}
.me-zpin:hover .me-zpin__ring,.me-zpin:focus-visible .me-zpin__ring{stroke-opacity:.6}
.me-zpin.is-on .me-zpin__dot{fill:var(--z-gold)}
.me-zpin.is-on .me-zpin__ring{stroke:var(--z-gold);stroke-opacity:.9;stroke-width:1.5}
.me-zpin.is-on .me-zpin__halo{opacity:1;fill:url(#mez-halo);animation:me-zpulse 2.6s ease-out infinite}
.me-zpin.is-on .me-zpin__name{fill:var(--z-ink);font-weight:700}
.me-zmap--full .me-zpin.is-dim{opacity:.55}
@keyframes me-zpulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@media (prefers-reduced-motion:reduce){.me-zpin.is-on .me-zpin__halo{animation:none;opacity:.6}}
.me-zmap__legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--z-ink3)}
.me-zmap__legend span{display:inline-flex;align-items:center;gap:7px}
.me-zmap__lg{width:12px;height:12px;border-radius:50%;background:var(--z-navy);display:inline-block}
.me-zmap__lg--sel{background:var(--z-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--z-gold) 25%,transparent)}
.me-zmap__tip{position:absolute;pointer-events:none;background:var(--z-navy);color:#fff;border-radius:6px;padding:8px 11px;font-size:12px;line-height:1.35;box-shadow:0 10px 24px rgba(11,27,58,.22);transform:translate(-50%,calc(-100% - 14px));opacity:0;transition:opacity .15s;white-space:nowrap;z-index:3}
.me-zmap__tip.is-on{opacity:1}
.me-zmap__tip b{display:block;font-size:13px;margin-bottom:2px}
html[data-theme="dark"] .me-zmap__tip{background:#fff;color:var(--me-navy)}

/* ── Chips de zona ────────────────────────────────────────────────── */
.me-zchips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.me-zchip{display:inline-flex;align-items:baseline;gap:7px;padding:9px 14px;border:1px solid var(--z-line);border-radius:var(--ds-radius-sm);background:var(--z-surf);color:var(--z-ink2);font:600 13px/1 var(--ds-font);cursor:pointer;transition:all .18s}
.me-zchip small{font-size:11px;color:var(--z-ink3);font-variant-numeric:tabular-nums}
.me-zchip:hover{border-color:var(--z-navy);color:var(--z-ink)}
.me-zchip.is-on{background:var(--me-navy);border-color:var(--me-navy);color:#fff}
.me-zchip.is-on small{color:rgba(255,255,255,.7)}
html[data-theme="dark"] .me-zchip.is-on{background:var(--ds-blu);border-color:var(--ds-blu)}

/* ── Layout mapa + panel ──────────────────────────────────────────── */
.me-zmap__layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:36px;align-items:start}
.me-zmap--full{padding:10px 6px 0}
.me-zpanel{position:relative;min-height:420px}
.me-zcard{background:var(--z-surf);border:1px solid var(--z-line);border-radius:var(--ds-radius-lg);padding:26px 26px 24px;animation:me-zin .32s ease-out}
@keyframes me-zin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.me-zcard__eyebrow{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--z-gold)}
.me-zcard__title{margin:4px 0 16px;font-size:30px;font-weight:700;letter-spacing:-.025em;color:var(--z-ink)}
.me-zcard__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.me-zcard__stats div{background:var(--z-soft);border-radius:var(--ds-radius);padding:12px 14px}
.me-zcard__stats dt{font-size:11.5px;color:var(--z-ink3);margin:0 0 4px;line-height:1.3}
.me-zcard__stats dd{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--z-ink);font-variant-numeric:tabular-nums}
.me-zcard__stats dd small{font-size:12px;font-weight:500;color:var(--z-ink3);margin-left:1px}
.me-zcard__stats dd em{display:block;font-style:normal;font-size:12px;font-weight:500;color:var(--z-ink2);margin-top:2px}
.me-zcard__stat--hl{grid-column:1/-1;background:var(--me-navy)!important;color:#fff}
.me-zcard__stat--hl dt{color:rgba(255,255,255,.72)!important}
.me-zcard__stat--hl dd{color:#fff!important;font-size:26px!important}
html[data-theme="dark"] .me-zcard__stat--hl{background:var(--ds-blu)!important}
.me-zcard__bars{display:flex;flex-direction:column;gap:9px;margin:0 0 16px}
.me-zbar{display:grid;grid-template-columns:1fr 120px 56px;align-items:center;gap:12px;font-size:12.5px;color:var(--z-ink2)}
.me-zbar b{text-align:right;font-variant-numeric:tabular-nums;color:var(--z-ink);font-size:14px}
.me-zbar__t{height:6px;background:var(--z-grid);border-radius:3px;overflow:hidden;position:relative}
.me-zbar__t i{position:absolute;inset:0 auto 0 0;width:var(--v);background:var(--z-navy);border-radius:3px;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.me-zbar__t--gold i{background:var(--z-gold)}
.me-zcard__note{margin:-2px 0 2px;font-size:12px;color:var(--z-ink3);line-height:1.4}
.me-zcard__why{margin:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--z-ink2)}
.me-zcard__cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.me-zcard__calc{font-size:13.5px;font-weight:600;color:var(--z-navy);text-decoration:none;border-bottom:1px solid currentColor}

/* ── Gráficos ─────────────────────────────────────────────────────── */
.me-zcharts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.me-zfig{margin:0;background:var(--z-surf);border:1px solid var(--z-line);border-radius:var(--ds-radius-lg);padding:20px 22px 16px;position:relative}
.me-zfig figcaption{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.me-zfig figcaption b{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--z-ink)}
.me-zfig figcaption span{font-size:12.5px;color:var(--z-ink3)}
.me-zfig__plot{position:relative;min-height:220px}
.me-zfig__plot svg{width:100%;height:auto;display:block;font-family:var(--ds-font);overflow:visible}
.me-zc__grid{stroke:var(--z-grid);stroke-width:1}
.me-zc__axis{font-size:11px;fill:var(--z-ink3);font-variant-numeric:tabular-nums}
.me-zc__cat{font-size:12px;fill:var(--z-ink2);font-weight:500}
.me-zc__cat.is-on{fill:var(--z-ink);font-weight:700}
.me-zc__val{font-size:12px;fill:var(--z-ink);font-weight:600;font-variant-numeric:tabular-nums}
.me-zc__bar{fill:var(--z-navy);transition:opacity .2s,fill .2s;opacity:.78}
.me-zc__bar.is-on{fill:var(--z-gold);opacity:1}
.me-zc__bar--2{fill:var(--z-navy);opacity:.35}
.me-zc__bar.is-on.me-zc__bar--2{fill:var(--z-gold);opacity:.5}
.me-zc__hit{fill:transparent;cursor:pointer}
.me-zc__line{fill:none;stroke:var(--z-ink3);stroke-opacity:.45;stroke-width:1.5;transition:all .25s}
.me-zc__line.is-on{stroke:var(--z-gold);stroke-opacity:1;stroke-width:2.5}
.me-zc__endlbl{font-size:11px;fill:var(--z-ink3);font-weight:500}
.me-zc__endlbl.is-on{fill:var(--z-ink);font-weight:700}
.me-zc__dot{fill:var(--z-gold);stroke:var(--z-surf);stroke-width:2}
.me-zc__cross{stroke:var(--z-ink3);stroke-dasharray:3 3;stroke-opacity:.6}
.me-zc__area{fill:var(--z-gold);fill-opacity:.12}
.me-zc__area2{fill:var(--z-navy);fill-opacity:.10}
.me-zc__line2{fill:none;stroke:var(--z-navy);stroke-width:2}
.me-zc__legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--z-ink3)}
.me-zc__legend span{display:inline-flex;align-items:center;gap:6px}
.me-zc__legend i{width:10px;height:10px;border-radius:2px;display:inline-block}
.me-zc__note{margin:8px 0 0;font-size:12px;color:var(--z-ink3)}
.me-zfig__tip{position:absolute;pointer-events:none;background:var(--z-navy);color:#fff;border-radius:6px;padding:7px 10px;font-size:12px;line-height:1.35;box-shadow:0 8px 20px rgba(11,27,58,.2);transform:translate(-50%,calc(-100% - 10px));opacity:0;transition:opacity .12s;white-space:nowrap;z-index:3}
.me-zfig__tip.is-on{opacity:1}
.me-zfig__tip b{display:block;font-size:12.5px}
html[data-theme="dark"] .me-zfig__tip{background:#fff;color:var(--me-navy)}
.me-ztable{margin-top:18px;border:1px solid var(--z-line);border-radius:var(--ds-radius);background:var(--z-surf)}
.me-ztable summary{cursor:pointer;padding:14px 18px;font-weight:600;font-size:14px;color:var(--z-ink);list-style:none;display:flex;align-items:center;justify-content:space-between}
.me-ztable summary::after{content:"+";font-size:18px;color:var(--z-ink3)}
.me-ztable[open] summary::after{content:"–"}
.me-ztable__wrap{overflow-x:auto;padding:0 18px 16px}
.me-ztable table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:620px}
.me-ztable th,.me-ztable td{padding:9px 10px;text-align:right;border-top:1px solid var(--z-line);font-variant-numeric:tabular-nums;white-space:nowrap}
.me-ztable th:first-child,.me-ztable td:first-child{text-align:left}
.me-ztable thead th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--z-ink3);font-weight:600;border-top:0}
.me-ztable tbody th{font-weight:600;color:var(--z-ink)}

/* ── Calculadora ──────────────────────────────────────────────────── */
.me-zcalc{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.3fr);gap:40px;align-items:start}
.me-zcalc__seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 18px}
.me-zcalc__seg button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:12px 14px;border:1px solid var(--z-line);border-radius:var(--ds-radius);background:var(--z-surf);color:var(--z-ink);font:600 14px/1.2 var(--ds-font);cursor:pointer;text-align:left;transition:all .18s}
.me-zcalc__seg button small{font-size:11.5px;font-weight:400;color:var(--z-ink3);line-height:1.3}
.me-zcalc__seg button.is-on{border-color:var(--me-navy);background:var(--me-navy);color:#fff}
.me-zcalc__seg button.is-on small{color:rgba(255,255,255,.7)}
html[data-theme="dark"] .me-zcalc__seg button.is-on{background:var(--ds-blu);border-color:var(--ds-blu)}
.me-zcalc__f{display:block;margin:0 0 16px}
.me-zcalc__f>span{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--z-ink2);margin-bottom:8px}
.me-zcalc__f>span b{font-size:14px;color:var(--z-ink);font-variant-numeric:tabular-nums}
.me-zcalc__f small{display:block;font-size:11.5px;color:var(--z-ink3);margin-top:6px;line-height:1.35}
.me-zcalc__f select{width:100%;padding:11px 12px;border:1px solid var(--z-line);border-radius:var(--ds-radius-sm);background:var(--z-surf);color:var(--z-ink);font:500 14px var(--ds-font)}
.me-zcalc__f input[type=range]{width:100%;accent-color:var(--me-navy);height:28px}
html[data-theme="dark"] .me-zcalc__f input[type=range]{accent-color:var(--ds-blu)}
.me-zcalc__out{background:var(--z-surf);border:1px solid var(--z-line);border-radius:var(--ds-radius-lg);padding:26px 26px 22px}
.me-zcalc__hero{display:flex;flex-direction:column;gap:2px;padding-bottom:18px;border-bottom:1px solid var(--z-line);margin-bottom:18px}
.me-zcalc__hl{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--z-gold)}
.me-zcalc__big{font-size:44px;font-weight:700;letter-spacing:-.035em;color:var(--z-ink);font-variant-numeric:tabular-nums;line-height:1.05}
.me-zcalc__sub{font-size:13px;color:var(--z-ink3)}
.me-zcalc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.me-zcalc__kpi{background:var(--z-soft);border-radius:var(--ds-radius);padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.me-zcalc__kpi span{font-size:11.5px;color:var(--z-ink3);line-height:1.3}
.me-zcalc__kpi b{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--z-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.me-zcalc__kpi small{font-size:11.5px;color:var(--z-ink3)}
.me-zcalc__kpi--gold{background:color-mix(in srgb,var(--me-gold) 14%,var(--z-surf));border:1px solid color-mix(in srgb,var(--me-gold) 40%,transparent)}
.me-zfig--calc{border:0;padding:0;background:transparent;margin-bottom:10px}
.me-zfig--calc .me-zfig__plot{min-height:200px}
.me-zcalc__disc{font-size:11.5px;color:var(--z-ink3);line-height:1.5;margin:10px 0 16px}
.me-zcalc__cta .me-btn{width:100%;justify-content:center}

/* ── Hechos ───────────────────────────────────────────────────────── */
.me-zfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.me-zfact{background:var(--z-surf);border:1px solid var(--z-line);border-radius:var(--ds-radius-lg);padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px}
.me-zfact__ic{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--z-soft);color:var(--z-navy);border:1px solid var(--z-line)}
.me-zfact b{font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--z-ink);font-variant-numeric:tabular-nums;line-height:1}
.me-zfact p{margin:0;font-size:13.5px;line-height:1.55;color:var(--z-ink2)}
.me-zfacts__src{margin:16px 0 0;font-size:11.5px;color:var(--z-ink3);line-height:1.5;max-width:900px}

/* ── Incluido + otros ─────────────────────────────────────────────── */
.me-zincl{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.me-zincl__items{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.me-zincl__items li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--z-ink2)}
.me-zincl__items li svg{flex:none;color:var(--z-gold);margin-top:4px}
.me-zincl__other h3{margin:0 0 14px;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--z-ink3)}
.me-zother{display:grid;grid-template-columns:40px 1fr 16px;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--z-line);border-radius:var(--ds-radius);background:var(--z-surf);text-decoration:none;color:inherit;margin-bottom:10px;transition:border-color .18s,transform .18s}
.me-zother:hover{border-color:var(--z-navy);transform:translateX(2px)}
.me-zother__ic{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:var(--z-soft);color:var(--z-navy)}
.me-zother b{display:block;font-size:14.5px;font-weight:600;color:var(--z-ink)}
.me-zother small{display:block;font-size:12.5px;color:var(--z-ink3);line-height:1.35;margin-top:2px}
.me-zother>svg{color:var(--z-ink3)}

/* ── Hero de la página ────────────────────────────────────────────── */
.me-zhero__kpis{flex-wrap:wrap}

/* ── Bloque de portada ────────────────────────────────────────────── */
.me-zhome__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:28px}
.me-zhome__head .me-sec__sub{max-width:720px;margin-left:0;margin-right:0;text-align:left}
.me-zhome__head .me-sec__title{text-align:left;margin-left:0}
.me-zhome__more{white-space:nowrap}
.me-zhome__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:center}
.me-zmap--compact{padding:6px 0}
.me-zhome__list{display:flex;flex-direction:column;gap:8px}
.me-zrow{display:grid;grid-template-columns:1.3fr 1fr .8fr .8fr;gap:12px;align-items:center;text-align:left;padding:12px 16px;border:1px solid var(--z-line);border-radius:var(--ds-radius);background:var(--z-surf);cursor:pointer;font-family:var(--ds-font);color:var(--z-ink);transition:border-color .18s,background .18s,transform .18s}
.me-zrow:hover{border-color:var(--z-navy);transform:translateX(2px)}
.me-zrow.is-on{border-color:var(--z-gold);box-shadow:inset 3px 0 0 var(--z-gold)}
.me-zrow b{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.me-zrow small{display:block;font-size:11px;color:var(--z-ink3);line-height:1.3;margin-top:1px}
.me-zrow__name b{font-size:15px}
.me-zhome__cta{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:600;color:var(--z-navy);text-decoration:none}
.me-zhome__cta:hover{text-decoration:underline}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width:1100px){.me-zcalc__grid{grid-template-columns:1fr 1fr}.me-zfacts{grid-template-columns:1fr 1fr}}
@media (max-width:980px){
  .me-zmap__layout{grid-template-columns:1fr;gap:20px}
  .me-zpanel{min-height:0}
  .me-zcharts{grid-template-columns:1fr}
  .me-zcalc{grid-template-columns:1fr;gap:26px}
  .me-zincl{grid-template-columns:1fr;gap:30px}
  .me-zhome__head{grid-template-columns:1fr;align-items:start}
  .me-zhome__grid{grid-template-columns:1fr;gap:18px}
  .me-zhome__list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .me-zhome__cta{grid-column:1/-1}
  .me-zrow{grid-template-columns:1.2fr 1fr .7fr .7fr;padding:10px 12px}
  .me-zcard__title{font-size:26px}
}
@media (max-width:640px){
  .me-zhome__list{grid-template-columns:1fr}
  .me-zrow{grid-template-columns:1.1fr 1fr .7fr .7fr;gap:8px;padding:10px 12px}
  .me-zrow b{font-size:13.5px}.me-zrow small{font-size:10px}
  .me-zcard{padding:20px 18px}
  .me-zcard__stats{grid-template-columns:1fr 1fr}
  .me-zbar{grid-template-columns:1fr 80px 50px;gap:8px}
  .me-zcalc__grid{grid-template-columns:1fr 1fr}
  .me-zcalc__big{font-size:36px}
  .me-zcalc__out{padding:20px 16px}
  .me-zfacts{grid-template-columns:1fr}
  .me-zfact b{font-size:30px}
  .me-zpin__sub{display:none}
  .me-zchip{padding:8px 11px;font-size:12.5px}
  .me-zfig{padding:16px 14px 12px}
}
html[data-theme="dark"] .me-zmap__land{fill:rgba(159,182,238,.08)!important;stroke:#9FB6EE!important;stroke-opacity:.5!important}
html[data-theme="dark"] .me-zmap__ref circle{fill:#9FB6EE}
html[data-theme="dark"] .me-zmap__ref text{fill:var(--ds-ink3)}
