/* MoroccoEntry · Invertir en Souss‑Massa (v1.0.16) — navy + oro, filetes finos, interacción contenida. */

.sm-kicker{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#C9AC78}
.sm-btn-gold{background:#D9C39B!important;color:var(--me-navy)!important;border:0!important;box-shadow:none!important;font-weight:600}
.sm-btn-gold:hover{background:#E4D1AD!important;transform:translateY(-1px)}

/* Hero */
.sm-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--me-navy) 0%,#132B57 100%);color:#fff;padding:64px 0 72px}
.sm-hero__glow{position:absolute;right:-160px;top:-200px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(201,172,120,.16),transparent 62%);pointer-events:none}
.sm-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,172,120,.7),transparent)}
.sm-hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.sm-hero .me-crumbs{margin-bottom:22px}
.sm-hero__title{margin:14px 0 16px;font-size:46px;line-height:1.08;font-weight:700;letter-spacing:-.03em;color:#fff}
.sm-hero__lead{margin:0;max-width:600px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.8)}
.sm-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.sm-hero__kpis{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid rgba(255,255,255,.18)}
.sm-hero__kpis>div{padding:18px 18px 18px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.sm-hero__kpis>div:nth-child(even){padding-left:18px;border-left:1px solid rgba(255,255,255,.12)}
.sm-hero__kpis .sm-hero__kpi--wide{grid-column:1/-1;padding-left:0!important;border-left:0!important}
.sm-hero__kpis dt{font-size:26px;font-weight:700;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.sm-hero__kpis dd{margin:4px 0 0;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62)}

/* Mapa */
.sm-map__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);border:1px solid var(--ds-line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -46px rgba(11,27,58,.3)}
.sm-map__stage{position:relative;padding:26px 26px 20px;background:linear-gradient(180deg,#F7F9FC,#fff)}
.sm-map__svg{display:block;width:100%;height:auto;color:var(--me-navy)}
.sm-map__sea{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;fill:#9AA6BC}
.sm-map__prov{fill:#DCE3F0;stroke:#fff;stroke-width:1.6;stroke-linejoin:round;cursor:pointer;outline:none;transition:fill .25s}
.sm-map__prov:hover{fill:#C3CFE6}
.sm-map__prov:focus-visible{stroke:var(--me-gold);stroke-width:2.4}
.sm-map__prov.is-on{fill:var(--me-navy);stroke:#fff}
.sm-map__cities circle{fill:#fff;stroke:var(--me-navy);stroke-width:1.4;pointer-events:none}
.sm-map__cities circle.is-main{fill:var(--me-gold);stroke:#fff;stroke-width:1.6}
.sm-map__lbl text{font:600 12px var(--ds-font);fill:var(--me-navy);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#DCE3F0;stroke-width:3px;letter-spacing:.01em;transition:fill .25s,stroke .25s}
.sm-map__lbl text.is-on{fill:#fff;stroke:var(--me-navy)}
.sm-map__tip{position:absolute;z-index:3;width:220px;padding:10px 12px;border-radius:6px;background:var(--me-navy);color:#fff;box-shadow:0 14px 30px rgba(11,27,58,.3);pointer-events:none}
.sm-map__tip b{display:block;font-size:13.5px}
.sm-map__tip span{display:block;margin-top:2px;font-size:12px;color:rgba(255,255,255,.7)}
.sm-map__tip[hidden]{display:none}
.sm-map__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sm-chip{padding:7px 12px;border:1px solid var(--ds-line);border-radius:999px;background:#fff;font:500 12.5px var(--ds-font);color:var(--ds-ink2);cursor:pointer;transition:all .2s}
.sm-chip:hover{border-color:#B9C3D6;color:var(--me-navy)}
.sm-chip.is-on{background:var(--me-navy);border-color:var(--me-navy);color:#fff}

.sm-panel{display:flex;flex-direction:column;padding:34px 30px 30px;background:var(--me-navy);color:#fff;transition:opacity .14s}
.sm-panel.is-swap{opacity:.25}
.sm-panel__type{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#C9AC78}
.sm-panel__name{margin:10px 0 6px;font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.02em;color:#fff}
.sm-panel__seat{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.62)}
.sm-panel__lead{margin:16px 0 0;font-size:15px;line-height:1.65;color:rgba(255,255,255,.86)}
.sm-panel__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.sm-panel__tags span{padding:4px 10px;border:1px solid rgba(201,172,120,.45);border-radius:999px;font-size:12px;color:#E4D1AD}
.sm-panel__k{margin-top:22px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.sm-panel__pts{list-style:none;margin:10px 0 0;padding:0}
.sm-panel__pts li{position:relative;padding:8px 0 8px 18px;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px;line-height:1.55;color:rgba(255,255,255,.82)}
.sm-panel__pts li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:#C9AC78}
.sm-panel__btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:auto;padding-top:24px}
.sm-panel .me-btn--primary{background:#D9C39B!important;color:var(--me-navy)!important}
.sm-panel__zone{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.sm-panel__zone[hidden]{display:none}

/* Sectores */
.sm-sectors__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--me-navy)}
.sm-sector{padding:24px 20px 6px 0}
.sm-sector+.sm-sector{padding-left:20px;border-left:1px solid var(--ds-line)}
.sm-sector__ic{width:40px;height:40px;display:grid;place-items:center;border:1px solid #D5DBE5;border-radius:4px;color:var(--me-navy);background:#fff;transition:background .3s,color .3s}
.sm-sector:hover .sm-sector__ic{background:var(--me-navy);color:#fff;border-color:var(--me-navy)}
.sm-sector h3{margin:16px 0 8px;font-size:16.5px;font-weight:600;color:var(--me-navy)}
.sm-sector p{margin:0;font-size:14px;line-height:1.6;color:var(--ds-ink3)}

/* Simulador */
.sm-sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--ds-line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -46px rgba(11,27,58,.3)}
.sm-sim__in{display:flex;flex-direction:column;gap:26px;padding:34px 34px 30px}
.sm-sim__f{display:flex;flex-direction:column;gap:10px}
.sm-sim__f>span{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ds-ink3)}
.sm-sim__f small{font-size:12.5px;color:var(--ds-ink4)}
.sm-sim__row{display:flex;align-items:center;gap:18px}
.sm-sim__row output{min-width:72px;text-align:right;font-size:24px;font-weight:700;color:var(--me-navy);font-variant-numeric:tabular-nums}
.sm-sim input[type=range]{--p:20%;flex:1;height:4px;border-radius:4px;appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,var(--me-navy) var(--p),#E3E8F0 var(--p));outline:none}
.sm-sim input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--me-navy);box-shadow:0 2px 8px rgba(11,27,58,.2);cursor:pointer}
.sm-sim input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--me-navy);cursor:pointer}
.sm-sim input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(11,27,58,.15)}
.sm-sim__seg{display:inline-flex;border:1px solid var(--ds-line);border-radius:6px;overflow:hidden;align-self:flex-start}
.sm-sim__seg button{padding:9px 16px;border:0;background:#fff;font:500 13.5px var(--ds-font);color:var(--ds-ink2);cursor:pointer;transition:background .2s,color .2s}
.sm-sim__seg button+button{border-left:1px solid var(--ds-line)}
.sm-sim__seg button.is-on{background:var(--me-navy);color:#fff}
.sm-sim__out{display:flex;flex-direction:column;padding:34px 32px 30px;background:var(--me-navy);color:#fff}
.sm-sim__k{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#C9AC78}
.sm-sim__name{margin-top:10px;font-size:23px;font-weight:700;letter-spacing:-.015em}
.sm-sim__cap{display:flex;flex-direction:column;gap:2px;margin-top:18px;padding:14px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.sm-sim__cap span{font-size:34px;font-weight:700;letter-spacing:-.02em;color:#E4D1AD;font-variant-numeric:tabular-nums}
.sm-sim__cap small{font-size:12.5px;color:rgba(255,255,255,.6)}
.sm-sim__list{list-style:none;margin:14px 0 0;padding:0}
.sm-sim__list li{position:relative;padding:7px 0 7px 18px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.84)}
.sm-sim__list li::before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;border-radius:50%;background:#C9AC78}
.sm-sim__list .is-warn{color:#F3D9A6}
.sm-sim__comm{margin:10px 0 0;font-size:13px;line-height:1.55;color:rgba(255,255,255,.6)}
.sm-sim__out .me-btn{margin-top:auto;align-self:flex-start}
.sm-sim__out .sm-sim__comm+.me-btn{margin-top:20px}
.sm-disc{margin:16px 0 0;font-size:12px;line-height:1.55;color:var(--ds-ink4);max-width:900px}
.sm-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.sm-more__item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:20px;border:1px solid var(--ds-line);border-radius:8px;background:#fff}
.sm-more__item>span{width:40px;height:40px;display:grid;place-items:center;border-radius:4px;background:var(--me-gold-soft);color:var(--me-gold)}
.sm-more__item b{font-size:15px;color:var(--me-navy)}
.sm-more__item p{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--ds-ink3)}

/* Pasos */
.sm-steps__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
.sm-steps__head{position:sticky;top:140px;align-self:start}
.sm-tl{list-style:none;margin:0;padding:0}
.sm-tl__item{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:18px;padding:0 0 26px}
.sm-tl__item::before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:1px;background:var(--ds-line)}
.sm-tl__item:last-child::before{display:none}
.sm-tl__dot{width:21px;height:21px;margin-top:1px;border-radius:50%;border:1.5px solid var(--me-gold);background:#fff;transition:background .3s}
.sm-tl__item:hover .sm-tl__dot{background:var(--me-gold)}
.sm-tl__item b{display:block;font-size:17px;font-weight:600;color:var(--me-navy)}
.sm-tl__item p{margin:6px 0 0;font-size:15px;line-height:1.6;color:var(--ds-ink3)}

/* AgadirInvest */
.sm-cri__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.sm-cri__copy p{margin:14px 0 0;font-size:15.5px;line-height:1.7;color:var(--ds-ink2)}
.sm-ext{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:14px;font-weight:600;color:var(--me-navy);text-decoration:none;border-bottom:1px solid currentColor}
.sm-cri__svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--me-navy)}
.sm-cri__svc li{padding:16px 16px 16px 0;border-bottom:1px solid var(--ds-line)}
.sm-cri__svc li:nth-child(even){padding-left:16px;border-left:1px solid var(--ds-line)}
.sm-cri__svc b{display:block;font-size:15px;color:var(--me-navy)}
.sm-cri__svc span{display:block;margin-top:4px;font-size:13.5px;line-height:1.5;color:var(--ds-ink3)}

/* Tableta / móvil */
@media (max-width:1100px){
  .sm-sectors__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm-sector:nth-child(4){padding-left:0;border-left:0}
}
@media (max-width:900px){
  .sm-hero__in,.sm-map__grid,.sm-sim,.sm-steps__in,.sm-cri__in{grid-template-columns:1fr}
  .sm-hero__title{font-size:34px}
  .sm-steps__head{position:static}
  .sm-more{grid-template-columns:1fr}
}
@media (max-width:600px){
  .sm-hero{padding:44px 0 52px}
  .sm-hero__title{font-size:29px}
  .sm-hero__kpis dt{font-size:21px}
  .sm-map__stage{padding:16px 12px 14px}
  .sm-panel,.sm-sim__in,.sm-sim__out{padding:24px 20px}
  .sm-sectors__grid{grid-template-columns:1fr}
  .sm-sector,.sm-sector+.sm-sector{padding:20px 0;border-left:0;border-bottom:1px solid var(--ds-line)}
  .sm-cri__svc{grid-template-columns:1fr}
  .sm-cri__svc li:nth-child(even){padding-left:0;border-left:0}
}

/* Oscuro */
html[data-theme="dark"] .sm-map__grid,html[data-theme="dark"] .sm-sim,html[data-theme="dark"] .sm-more__item{background:var(--ds-surface);border-color:var(--ds-line)}
html[data-theme="dark"] .sm-map__stage{background:var(--ds-surface)}
html[data-theme="dark"] .sm-map__prov{fill:#22304D;stroke:var(--ds-surface)}
html[data-theme="dark"] .sm-map__prov:hover{fill:#2C3D61}
html[data-theme="dark"] .sm-map__prov.is-on{fill:var(--me-gold)}
html[data-theme="dark"] .sm-map__lbl text{fill:var(--ds-ink);stroke:#22304D}
html[data-theme="dark"] .sm-map__lbl text.is-on{fill:#0B1220;stroke:var(--me-gold)}
html[data-theme="dark"] .sm-chip{background:transparent;border-color:var(--ds-line);color:var(--ds-ink2)}
html[data-theme="dark"] .sm-chip.is-on{background:var(--ds-blu);border-color:var(--ds-blu);color:#0B1220}
html[data-theme="dark"] .sm-panel,html[data-theme="dark"] .sm-sim__out{background:#0B1220;border-left:1px solid var(--ds-line)}
html[data-theme="dark"] .sm-sector h3,html[data-theme="dark"] .sm-tl__item b,html[data-theme="dark"] .sm-cri__svc b,html[data-theme="dark"] .sm-more__item b,html[data-theme="dark"] .sm-sim__row output,html[data-theme="dark"] .sm-ext{color:var(--ds-ink)}
html[data-theme="dark"] .sm-sector__ic,html[data-theme="dark"] .sm-tl__dot{background:transparent;border-color:var(--ds-line);color:var(--ds-ink)}
html[data-theme="dark"] .sm-sectors__grid,html[data-theme="dark"] .sm-cri__svc{border-top-color:var(--ds-ink3)}
html[data-theme="dark"] .sm-sim__seg button{background:transparent;color:var(--ds-ink2)}
html[data-theme="dark"] .sm-sim__seg button.is-on{background:var(--ds-blu);color:#0B1220}
html[data-theme="dark"] .sm-sim input[type=range]{background:linear-gradient(90deg,var(--ds-blu) var(--p),#2A3550 var(--p))}

/* v1.0.17 · Índice de prefecturas/provincias (sustituye a las píldoras): rejilla tipográfica con filetes */
.sm-map__chips{display:none}
.sm-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;border-top:1px solid var(--me-navy)}
.sm-idx{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 34px 14px 14px;border:0;border-bottom:1px solid var(--ds-line);background:transparent;font:inherit;text-align:left;color:inherit;cursor:pointer;transition:background .3s}
.sm-idx:not(:nth-child(3n+1)){border-left:1px solid var(--ds-line)}
.sm-idx::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--me-gold);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.sm-idx__type{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--me-gold)}
.sm-idx__name{font-size:14.5px;font-weight:600;line-height:1.3;color:var(--me-navy)}
.sm-idx__seat{font-size:12px;color:var(--ds-ink3)}
.sm-idx__go{position:absolute;right:12px;top:50%;margin-top:-7px;color:var(--me-navy);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.sm-idx:hover{background:rgba(11,27,58,.03)}
.sm-idx:hover .sm-idx__go{opacity:.6;transform:none}
.sm-idx:focus-visible{outline:none;box-shadow:inset 0 0 0 2px rgba(11,27,58,.2)}
.sm-idx.is-on{background:linear-gradient(180deg,rgba(201,172,120,.09),rgba(201,172,120,0))}
.sm-idx.is-on::before{transform:scaleX(1)}
.sm-idx.is-on .sm-idx__go{opacity:1;transform:none;color:var(--me-gold)}
@media (max-width:600px){.sm-index{grid-template-columns:1fr 1fr}.sm-idx:not(:nth-child(3n+1)){border-left:0}.sm-idx:nth-child(even){border-left:1px solid var(--ds-line)}.sm-idx{padding:12px 28px 12px 10px}}
html[data-theme="dark"] .sm-index{border-top-color:var(--ds-ink3)}
html[data-theme="dark"] .sm-idx__name{color:var(--ds-ink)}
html[data-theme="dark"] .sm-idx:hover{background:rgba(255,255,255,.03)}
html[data-theme="dark"] .sm-idx__go{color:var(--ds-ink)}
/* Botón fantasma del hero sobre azul marino */
.sm-hero .me-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.sm-hero .me-btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.65)}
