/* ÉLÉMENTS — identité visuelle commune */
:root{
  --elements-navy:#2a5069;
  --elements-navy-dark:#173b54;
  --elements-ink:#173242;
  --elements-muted:#647785;
  --elements-line:#d9e4ea;
  --elements-soft:#f2f6f8;
  --elements-paper:#ffffff;
  --elements-shadow:0 16px 42px rgba(24,59,84,.10);
  --elements-radius:20px;
  --elements-ri:#67b7ee;
  --elements-pr:#a98bd5;
  --elements-ho:#e66bc5;
  --elements-sy:#68b9ac;
  --elements-vg:#ff8d6d;
  --elements-er:#a8c979;
  --elements-ag:#f2c66d;
  --elements-ma:#4ccfc4;
  --elements-fi:#e7a86c;
  --elements-cr:#e783a9;
  --navy:var(--elements-navy)!important;
  --navy2:var(--elements-navy)!important;
  --navy3:var(--elements-navy-dark)!important;
  --primary:var(--elements-navy)!important;
  --primary2:var(--elements-navy-dark)!important;
  --blue:var(--elements-navy)!important;
  --blue-dark:var(--elements-navy-dark)!important;
  --line:var(--elements-line)!important;
  --text:var(--elements-ink)!important;
  --ink:var(--elements-ink)!important;
  --muted:var(--elements-muted)!important;
}

html{background:#eaf0f3;color-scheme:light}
body.elements-identity{
  margin:0;
  color:var(--elements-ink);
  font-family:Inter,"Segoe UI",Arial,sans-serif!important;
  background:
    radial-gradient(circle at 92% -10%,rgba(103,183,238,.13),transparent 32rem),
    linear-gradient(180deg,#eef3f6 0,#f8fafb 26rem,#f4f7f9 100%)!important;
}
body.elements-identity *{box-sizing:border-box}

body.elements-identity .wrap,
body.elements-identity .shell,
body.elements-identity > main{
  width:min(100%,1320px);
}

body.elements-identity .top,
body.elements-identity .header{
  background:var(--elements-navy)!important;
  background-image:none!important;
  color:#fff!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:0 18px 46px rgba(23,59,84,.20)!important;
  padding:24px 28px!important;
}

body.elements-identity .top::before,
body.elements-identity .top::after,
body.elements-identity .header::before,
body.elements-identity .header::after{display:none!important;content:none!important}

body.elements-identity .hero{
  background:#fff!important;
  color:var(--elements-ink)!important;
  border:1px solid var(--elements-line)!important;
  border-radius:var(--elements-radius)!important;
  box-shadow:var(--elements-shadow)!important;
}
body.elements-identity .hero h1{color:var(--elements-navy-dark)!important}
body.elements-identity .hero p{color:var(--elements-muted)!important}

body.elements-identity .card,
body.elements-identity .panel,
body.elements-identity .box,
body.elements-identity .notice,
body.elements-identity .item,
body.elements-identity .step,
body.elements-identity .action-block,
body.elements-identity .trust-item{
  border-color:var(--elements-line)!important;
  border-radius:var(--elements-radius)!important;
  box-shadow:var(--elements-shadow)!important;
}
body.elements-identity .box,
body.elements-identity .notice,
body.elements-identity .action-block,
body.elements-identity .trust-item{background:#f8fbfc!important;box-shadow:none!important}

body.elements-identity h1,
body.elements-identity h2,
body.elements-identity h3{color:var(--elements-navy-dark);letter-spacing:-.02em}
body.elements-identity label{color:var(--elements-navy-dark)}
body.elements-identity a:not(.btn){color:var(--elements-navy)}

body.elements-identity input,
body.elements-identity select,
body.elements-identity textarea{
  border-color:#cbd9e1!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--elements-ink)!important;
}
body.elements-identity input:focus,
body.elements-identity select:focus,
body.elements-identity textarea:focus{
  outline:3px solid rgba(103,183,238,.22)!important;
  border-color:var(--elements-ri)!important;
}

body.elements-identity button:not(.light):not(.ghost):not(.outline):not(.danger):not(.delete):not(.destructive):not(.secondary),
body.elements-identity a.btn:not(.light):not(.ghost):not(.outline):not(.danger):not(.delete):not(.destructive):not(.secondary),
body.elements-identity .btn.primary,
body.elements-identity button.primary,
body.elements-identity .tab.active,
body.elements-identity [aria-selected="true"]{
  background:var(--elements-navy)!important;
  background-image:none!important;
  border-color:var(--elements-navy)!important;
  color:#fff!important;
  border-radius:12px!important;
  box-shadow:0 10px 22px rgba(42,80,105,.18)!important;
}
body.elements-identity button.secondary,
body.elements-identity .secondary,
body.elements-identity .light,
body.elements-identity .ghost,
body.elements-identity .outline{
  background:#eef4f7!important;
  color:var(--elements-navy)!important;
  border:1px solid #cbd9e1!important;
  box-shadow:none!important;
  border-radius:12px!important;
}
body.elements-identity button.danger,
body.elements-identity button.delete,
body.elements-identity button.destructive,
body.elements-identity a.btn.danger{background:#a93232!important;color:#fff!important;border-color:#a93232!important}

.elements-universal-banner{
  --module-color:var(--elements-ri);
  width:min(calc(100% - 28px),1240px);
  min-height:102px;
  margin:14px auto 18px;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  color:#fff;
  background:var(--elements-navy);
  border-radius:24px;
  box-shadow:0 18px 46px rgba(23,59,84,.22);
}
.elements-module-pr .elements-universal-banner{--module-color:var(--elements-pr)}
.elements-module-ho .elements-universal-banner{--module-color:var(--elements-ho)}
.elements-module-sy .elements-universal-banner{--module-color:var(--elements-sy)}
.elements-module-vg .elements-universal-banner{--module-color:var(--elements-vg)}
.elements-module-er .elements-universal-banner{--module-color:var(--elements-er)}
.elements-module-ag .elements-universal-banner{--module-color:var(--elements-ag)}
.elements-module-ma .elements-universal-banner{--module-color:var(--elements-ma)}
.elements-module-fi .elements-universal-banner{--module-color:var(--elements-fi)}
.elements-module-cr .elements-universal-banner{--module-color:var(--elements-cr)}
.elements-universal-brand{display:flex;align-items:center;gap:22px;min-width:0}
.elements-universal-official-logo{display:block;width:min(390px,55vw);height:auto;max-height:168px;object-fit:contain;background:#2a5069}
.elements-universal-wordmark{font-size:38px;font-weight:300;line-height:.9;letter-spacing:-.055em;white-space:nowrap}
.elements-universal-wordmark{position:relative;z-index:2;color:#fff!important;opacity:1!important;visibility:visible!important;font-family:Inter,"Segoe UI",Arial,sans-serif!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}
.elements-universal-tagline{margin-top:9px;font-size:8px;font-weight:850;letter-spacing:.38em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.elements-universal-strip{display:flex;gap:5px;margin-top:12px}
.elements-universal-strip span{width:28px;height:28px;display:grid;place-items:center;border:1px solid currentColor;border-radius:8px;font-size:11px;font-weight:800;opacity:.62}
.elements-universal-strip span.active{opacity:1;background:rgba(255,255,255,.09);box-shadow:0 0 0 2px rgba(255,255,255,.09)}
.elements-universal-context{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.07)}
.elements-universal-context b{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--module-color);border-radius:12px;color:var(--module-color);font-size:17px}
.elements-universal-module-logo{display:block;width:48px;height:48px;object-fit:contain;flex:none}
.elements-universal-context strong{display:block;color:#fff;font-size:15px}
.elements-universal-context small{display:block;margin-top:3px;color:rgba(255,255,255,.7);font-size:11px}

body.elements-identity.has-elements-banner > .top,
body.elements-identity.has-elements-banner > .header,
body.elements-identity.has-elements-banner .shell > .top,
body.elements-identity.has-elements-banner .topbar,
body.elements-identity.has-elements-banner .app-bar{
  width:min(calc(100% - 28px),1240px)!important;
  margin:0 auto 18px!important;
  color:var(--elements-ink)!important;
  background:#fff!important;
  border:1px solid var(--elements-line)!important;
  border-radius:var(--elements-radius)!important;
  box-shadow:var(--elements-shadow)!important;
}
body.elements-identity.has-elements-banner .topbar-inner{max-width:1120px;color:var(--elements-ink)}
body.elements-identity.has-elements-banner .topbar h1,
body.elements-identity.has-elements-banner .topbar p{color:var(--elements-ink)!important}
body.elements-identity.has-elements-banner .brand-kicker{color:var(--elements-sy)!important}
body.elements-identity.has-elements-banner .brand > img,
body.elements-identity.has-elements-banner .brand-lockup > img,
body.elements-identity.has-elements-banner .topbar .logo{display:none!important}

.passerelle-official-security-band,
.elements-security-band{
  background:var(--elements-navy)!important;
  color:#fff!important;
  border-color:var(--elements-navy)!important;
  border-radius:16px!important;
}
.passerelle-official-security-band *,
.elements-security-band *{color:#fff!important}

@media(max-width:800px){
  body.elements-identity .wrap,
  body.elements-identity .shell{padding:10px!important}
  body.elements-identity .top,
  body.elements-identity .header{border-radius:18px!important;padding:19px 16px!important}
  .elements-universal-banner{width:calc(100% - 16px);margin:8px auto 12px;padding:16px;border-radius:18px;flex-direction:column;align-items:stretch}
  .elements-universal-brand{justify-content:center;text-align:center}
  .elements-universal-official-logo{width:min(360px,92vw);max-height:none}
  .elements-universal-wordmark{font-size:35px}
  .elements-universal-strip{justify-content:center}
  .elements-universal-context{justify-content:center}
  body.elements-identity.has-elements-banner > .top,
  body.elements-identity.has-elements-banner > .header,
  body.elements-identity.has-elements-banner .shell > .top,
  body.elements-identity.has-elements-banner .topbar,
  body.elements-identity.has-elements-banner .app-bar{width:calc(100% - 16px)!important;border-radius:18px!important}
}

@media(max-width:420px){
  .elements-universal-brand{display:block}.elements-universal-official-logo{width:100%;max-width:330px;margin:auto}.elements-universal-context{padding:9px 11px}
}
