.unipay-ecosystem-directory{width:min(1480px,calc(100% - 32px));margin:40px auto 54px;padding:clamp(20px,3vw,38px);border:1px solid rgba(50,224,255,.24);border-radius:28px;background:linear-gradient(145deg,rgba(3,18,38,.82),rgba(4,9,22,.64));box-shadow:0 24px 80px rgba(0,0,0,.34),inset 0 0 36px rgba(0,225,255,.035)}
.ecosystem-directory-heading{max-width:920px}.ecosystem-directory-heading h2{margin:.35rem 0 .7rem;font-size:clamp(1.65rem,4vw,3rem);line-height:1.08}.ecosystem-directory-heading p{color:#bdd8e6;line-height:1.65}
.ecosystem-directory-filters{display:flex;gap:9px;overflow-x:auto;padding:16px 0 20px;scrollbar-width:thin}.ecosystem-directory-filters button{flex:0 0 auto;border:1px solid rgba(74,226,255,.25);border-radius:999px;padding:9px 14px;background:rgba(3,25,46,.72);color:#dffaff;font-weight:800;cursor:pointer}.ecosystem-directory-filters button[aria-pressed="true"]{color:#00131b;background:#49e7ff;box-shadow:0 0 22px rgba(73,231,255,.38)}
.ecosystem-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ecosystem-page-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(92,226,255,.18);border-radius:22px;background:linear-gradient(155deg,rgba(8,29,51,.94),rgba(4,12,25,.9));box-shadow:0 15px 42px rgba(0,0,0,.25);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.ecosystem-page-card:hover{transform:translateY(-5px);border-color:rgba(92,226,255,.58);box-shadow:0 22px 56px rgba(0,0,0,.34),0 0 24px rgba(0,225,255,.1)}
.ecosystem-page-media{position:relative;aspect-ratio:16/8.5;overflow:hidden;background:#020916}.ecosystem-page-media img,.ecosystem-page-media video{width:100%;height:100%;display:block;object-fit:cover}.ecosystem-page-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 42%,rgba(2,9,20,.8))}.ecosystem-page-badge{position:absolute;z-index:2;left:13px;top:13px;padding:5px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(1,10,22,.72);color:#9cf4ff;font-size:.72rem;font-weight:900;letter-spacing:.05em}
.ecosystem-page-body{display:flex;flex:1;flex-direction:column;padding:18px}.ecosystem-page-body h3{margin:0 0 8px;font-size:1.15rem}.ecosystem-page-summary{margin:0;color:#bed3df;line-height:1.55;overflow-wrap:anywhere}.ecosystem-page-actions{display:flex;gap:9px;margin-top:auto;padding-top:17px}.ecosystem-page-actions a,.ecosystem-page-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:12px;padding:9px 12px;font:inherit;font-weight:850;text-decoration:none;cursor:pointer}.ecosystem-page-actions a{color:#00151c;background:#56e8ff}.ecosystem-page-actions button{flex:1;border:1px solid rgba(86,232,255,.3);background:rgba(86,232,255,.06);color:#e9fcff}
.ecosystem-detail-modal{position:fixed;inset:0;z-index:2147483450;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);background:rgba(0,5,14,.52)}.ecosystem-detail-modal.is-open{display:flex}.ecosystem-detail-dialog{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);width:min(1120px,96vw);max-height:min(86dvh,820px);overflow:visible;border:1px solid rgba(80,231,255,.7);border-radius:24px;background:linear-gradient(145deg,rgba(3,18,34,.94),rgba(3,9,20,.96));box-shadow:0 0 22px rgba(0,231,255,.38),0 0 70px rgba(109,92,255,.28)}.ecosystem-detail-dialog::before{content:"";position:absolute;inset:-9px;z-index:-1;border:2px solid rgba(74,228,255,.6);border-radius:30px;box-shadow:0 0 18px rgba(0,231,255,.72),0 0 42px rgba(124,80,255,.45);filter:blur(4px);pointer-events:none}.ecosystem-detail-media{min-height:350px;overflow:hidden;border-radius:23px 0 0 23px;background:#020812}.ecosystem-detail-media img,.ecosystem-detail-media video{width:100%;height:100%;object-fit:cover}.ecosystem-detail-content{overflow-y:auto;padding:clamp(22px,4vw,44px);overscroll-behavior:contain}.ecosystem-detail-category{color:#63ebff;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.ecosystem-detail-content h2{margin:.35rem 42px .8rem 0;font-size:clamp(1.55rem,4vw,2.65rem)}.ecosystem-detail-content p,.ecosystem-detail-content li{color:#c7dbe5;line-height:1.65}.ecosystem-detail-content h3{margin:1.3rem 0 .4rem}.ecosystem-detail-content ul{padding-left:1.2rem}.ecosystem-detail-close{position:absolute;z-index:4;right:14px;top:14px;width:40px;height:40px;border:1px solid #66efff;border-radius:50%;background:#051525;color:#eaffff;font-size:1.65rem;cursor:pointer;box-shadow:0 0 18px rgba(0,234,255,.35)}.ecosystem-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.ecosystem-detail-actions a,.ecosystem-detail-actions button{border-radius:12px;padding:11px 15px;font:inherit;font-weight:900;cursor:pointer;text-decoration:none}.ecosystem-detail-actions a{background:#54e9ff;color:#00151c}.ecosystem-detail-actions button{border:1px solid rgba(84,233,255,.35);background:transparent;color:#eaffff}body.ecosystem-modal-open{overflow:hidden!important}
@media(max-width:1050px){.ecosystem-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.unipay-ecosystem-directory{width:min(100% - 18px,1480px);margin:24px auto 34px;padding:16px;border-radius:20px}.ecosystem-directory-grid{grid-template-columns:1fr}.ecosystem-detail-modal{align-items:flex-end;padding:9px}.ecosystem-detail-dialog{grid-template-columns:1fr;width:100%;max-height:92dvh;border-radius:22px}.ecosystem-detail-media{min-height:180px;max-height:28dvh;border-radius:21px 21px 0 0}.ecosystem-detail-content{padding:20px 18px calc(24px + env(safe-area-inset-bottom))}.ecosystem-page-actions{flex-direction:column}.ecosystem-page-actions a,.ecosystem-page-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.ecosystem-page-card{transition:none}.ecosystem-detail-dialog::before{filter:none}}
.ecosystem-directory-filters button,.ecosystem-page-actions a,.ecosystem-page-actions button,.ecosystem-detail-actions a,.ecosystem-detail-actions button{min-height:44px}
.ecosystem-detail-actions .ecosystem-detail-account{border:1px solid rgba(84,233,255,.7);background:linear-gradient(135deg,rgba(102,69,255,.92),rgba(12,166,218,.92));color:#fff;box-shadow:0 0 20px rgba(84,233,255,.2)}
.ecosystem-detail-close{width:44px;height:44px}
.ecosystem-detail-close{left:14px;right:auto}

/* Fiche ecosysteme v2 : sections administrables et defilement tactile stable. */
.ecosystem-detail-content{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.ecosystem-detail-content h3{margin:0 0 .45rem;font-size:1rem;color:#effdff}
.ecosystem-detail-content ul{margin:.15rem 0;padding-left:1.15rem}
.ecosystem-detail-section{min-width:0;margin-top:14px;padding:14px;border:1px solid rgba(92,226,255,.16);border-radius:15px;background:rgba(5,24,42,.52)}
.ecosystem-detail-value{border-color:rgba(95,236,174,.3);background:linear-gradient(135deg,rgba(13,70,67,.34),rgba(5,24,42,.52))}
.ecosystem-detail-value p{margin:.15rem 0}
.ecosystem-detail-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:720px){
  .ecosystem-detail-dialog{grid-template-columns:1fr;grid-template-rows:minmax(120px,24dvh) minmax(0,1fr);height:min(92dvh,820px);max-height:92dvh;overflow:hidden}
  .ecosystem-detail-media{min-height:0;max-height:none}
  .ecosystem-detail-content{height:100%}
  .ecosystem-detail-section-grid{grid-template-columns:1fr}
}

/* Galerie réelle mobile / PC : un seul média chargé à la fois. */
.ecosystem-media-gallery{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 35%,#0c2943,#020812 72%)}
.ecosystem-gallery-stage{width:100%;height:100%;transition:opacity .28s ease,transform .42s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}
.ecosystem-gallery-stage.is-switching{opacity:.12;transform:scale(1.035) translateX(6px)}
.ecosystem-gallery-stage img,.ecosystem-gallery-stage video{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.ecosystem-gallery-nav{position:absolute;z-index:4;top:50%;display:grid;place-items:center;width:38px;height:46px;margin-top:-23px;border:1px solid rgba(105,239,255,.58);border-radius:12px;background:rgba(1,13,27,.78);color:#eaffff;font-size:1.75rem;line-height:1;cursor:pointer;box-shadow:0 0 18px rgba(0,231,255,.22)}
.ecosystem-gallery-nav.is-prev{left:9px}.ecosystem-gallery-nav.is-next{right:9px}
.ecosystem-gallery-meta{position:absolute;z-index:4;left:10px;right:10px;bottom:21px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;color:#eafdff;font-size:.72rem;text-shadow:0 2px 7px #000}
.ecosystem-gallery-meta span{max-width:78%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecosystem-gallery-meta b{flex:0 0 auto;color:#7cf2ff}
.ecosystem-gallery-dots{position:absolute;z-index:5;left:50%;bottom:7px;display:flex;gap:5px;transform:translateX(-50%)}
.ecosystem-gallery-dots button{width:7px;height:7px;min-width:0;min-height:0;padding:0;border:1px solid rgba(155,247,255,.72);border-radius:50%;background:rgba(3,21,38,.78);cursor:pointer}
.ecosystem-gallery-dots button[aria-pressed="true"]{background:#6ff2ff;box-shadow:0 0 9px #38e8ff}
.ecosystem-page-badge{z-index:6}.ecosystem-detail-media .ecosystem-media-gallery{min-height:350px}.ecosystem-detail-media .ecosystem-gallery-meta{bottom:29px;font-size:.82rem}.ecosystem-detail-media .ecosystem-gallery-dots{bottom:11px}
@media(max-width:720px){.ecosystem-detail-media .ecosystem-media-gallery{min-height:0}.ecosystem-gallery-nav{width:42px;height:46px}.ecosystem-gallery-meta{left:58px;right:58px}}
@media(prefers-reduced-motion:reduce){.ecosystem-gallery-stage{transition:none}}

/* Cible et documentation visibles sans alourdir la carte. */
.ecosystem-page-audience{position:absolute;z-index:6;left:13px;right:13px;bottom:12px;color:#f1fdff;font-size:.76rem;font-weight:850;text-shadow:0 2px 8px #000;line-height:1.35}
.ecosystem-detail-audience{display:block;margin-top:6px;color:#72f0b7;font-size:.82rem;font-weight:850;line-height:1.4}
.ecosystem-detail-documentation{border-color:rgba(255,209,102,.26);background:linear-gradient(135deg,rgba(83,58,13,.25),rgba(5,24,42,.52))}
.ecosystem-page-media{aspect-ratio:16/11}
.ecosystem-page-media::after{background:none}
.ecosystem-page-media .ecosystem-gallery-meta{display:none}
.ecosystem-media-gallery .ecosystem-gallery-meta{display:none}
.ecosystem-page-body{padding:14px 16px}
.ecosystem-page-summary{font-size:.92rem;line-height:1.5}
.ecosystem-page-actions{padding-top:12px}
.ecosystem-detail-benefit-list{display:grid;gap:9px;padding:0;margin:12px 0;list-style:none}
.ecosystem-detail-benefit-list li{padding:11px 13px;border-left:2px solid #78e4ef;border-radius:8px;background:rgba(40,112,141,.12);line-height:1.55}
.ecosystem-use-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ecosystem-use-case-grid article{padding:14px;border:1px solid rgba(109,224,249,.25);border-radius:13px;background:rgba(5,27,46,.7)}
.ecosystem-use-case-grid h3{font-size:1rem;margin:0 0 8px;color:#a6f4ff}
.ecosystem-detail-use-cases[hidden]{display:none!important}
@media(max-width:620px){.ecosystem-use-case-grid{grid-template-columns:1fr}}

/* Illustrations publiques stables : aucun écran privé ni capture en cours de chargement. */
.ecosystem-portal-cover{position:relative;isolation:isolate;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 46%,hsla(var(--cover-hue),92%,41%,.22),transparent 35%),radial-gradient(circle at 88% 10%,rgba(81,68,185,.28),transparent 35%),linear-gradient(145deg,#051329,#020815 72%);color:hsl(var(--cover-hue),96%,72%)}
.ecosystem-portal-cover::before{content:"";position:absolute;inset:0;opacity:.46;background-image:linear-gradient(rgba(91,235,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(91,235,255,.1) 1px,transparent 1px);background-size:32px 32px;transform:perspective(420px) rotateX(62deg) scale(1.65);transform-origin:50% 100%}
.ecosystem-portal-cover::after{content:"";position:absolute;inset:8%;border:1px solid hsla(var(--cover-hue),92%,70%,.27);border-radius:24px;box-shadow:inset 0 0 36px hsla(var(--cover-hue),95%,62%,.08),0 0 28px hsla(var(--cover-hue),95%,62%,.08)}
.ecosystem-cover-orbit{position:absolute;top:50%;left:50%;width:min(58%,280px);aspect-ratio:1;border:1px solid hsla(var(--cover-hue),100%,72%,.32);border-radius:50%;transform:translate(-50%,-50%) rotate(-22deg);box-shadow:0 0 24px hsla(var(--cover-hue),100%,66%,.13)}
.ecosystem-cover-orbit.orbit-two{width:min(82%,400px);border-style:dashed;opacity:.55;transform:translate(-50%,-50%) rotate(28deg)}
.ecosystem-cover-core{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:clamp(96px,27%,174px);aspect-ratio:1;border:1px solid hsla(var(--cover-hue),100%,82%,.75);border-radius:28%;background:radial-gradient(circle at 30% 22%,hsla(var(--cover-hue),100%,62%,.24),rgba(3,20,42,.96) 65%);box-shadow:0 0 18px hsla(var(--cover-hue),100%,66%,.36),0 0 58px hsla(var(--cover-hue),100%,66%,.16),inset 0 0 24px hsla(var(--cover-hue),100%,66%,.18);transform:translate(-50%,-50%) rotate(-8deg);animation:ecosystem-cover-breathe 8s ease-in-out infinite}
.ecosystem-cover-core svg{width:54%;height:54%;filter:drop-shadow(0 0 7px currentColor)}
.ecosystem-cover-node{position:absolute;z-index:2;width:9px;aspect-ratio:1;border-radius:50%;background:hsl(var(--cover-hue),100%,76%);box-shadow:0 0 12px 4px hsla(var(--cover-hue),100%,70%,.6)}
.ecosystem-cover-node.node-one{top:22%;left:28%}.ecosystem-cover-node.node-two{top:67%;left:77%}.ecosystem-cover-node.node-three{top:79%;left:29%;width:5px}
.ecosystem-portal-cover.is-alt{background:radial-gradient(circle at 52% 45%,hsla(var(--cover-hue),100%,55%,.23),transparent 40%),radial-gradient(circle at 5% 92%,rgba(110,77,213,.24),transparent 38%),linear-gradient(25deg,#020916,#06213a)}
.ecosystem-portal-cover.is-alt .ecosystem-cover-core{border-radius:50%;transform:translate(-50%,-50%) rotate(8deg)}
.ecosystem-portal-cover.is-alt .ecosystem-cover-orbit.orbit-one{width:min(68%,330px);transform:translate(-50%,-50%) rotate(35deg)}
.ecosystem-detail-dialog{grid-template-rows:minmax(0,1fr);height:min(86dvh,820px);overflow:hidden}
.ecosystem-detail-media,.ecosystem-detail-media .ecosystem-media-gallery{min-height:0;height:100%}
.ecosystem-detail-media .ecosystem-gallery-stage{height:100%}
@media(max-width:720px){.ecosystem-detail-dialog{grid-template-rows:minmax(120px,24dvh) minmax(0,1fr);height:min(92dvh,820px)}.ecosystem-detail-media{height:auto}.ecosystem-detail-media .ecosystem-media-gallery{height:100%}}
@keyframes ecosystem-cover-breathe{50%{box-shadow:0 0 30px hsla(var(--cover-hue),100%,66%,.55),0 0 75px hsla(var(--cover-hue),100%,66%,.22),inset 0 0 30px hsla(var(--cover-hue),100%,66%,.22)}}
@media(prefers-reduced-motion:reduce){.ecosystem-cover-core{animation:none}}
