.gouv-ds-app{--gouv-yellow:#ffe625;--gouv-black:#111;--gouv-white:#fff;--gouv-gray:#f4f4f4;--gouv-border:#dedede;--gouv-text:#191919;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--gouv-text)}
.gouv-ds-app *{box-sizing:border-box}.gouv-ds-lang{max-width:1040px;margin:0 auto 14px;display:flex;justify-content:flex-end;gap:6px}.gouv-ds-lang button{border:1px solid var(--gouv-border);background:#fff;color:#111;border-radius:999px;padding:7px 11px;font-weight:800;font-size:12px;cursor:pointer}.gouv-ds-lang button.active,.gouv-ds-lang button:hover{background:var(--gouv-yellow);border-color:var(--gouv-yellow)}
.gouv-ds-card{max-width:1040px;margin:20px auto 34px;padding:34px;border:1px solid var(--gouv-border);border-radius:20px;background:linear-gradient(180deg,#fff,#fff 70%,#fafafa);box-shadow:0 18px 45px rgba(0,0,0,.07);position:relative;overflow:hidden}.gouv-ds-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--gouv-yellow)}
.gouv-ds-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;background:#111;color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.gouv-ds-card h2{margin:8px 0 8px;color:#111;font-size:34px;line-height:1.1;letter-spacing:-.04em;font-weight:900}.gouv-ds-lead{margin:0 0 22px;max-width:780px;color:#555;font-size:15px;line-height:1.55}.gouv-ds-section{grid-column:1/-1;margin:26px 0 14px;border-top:1px solid #e7e7e7;position:relative}.gouv-ds-section span{display:inline-block;margin-top:-14px;background:#fff;padding:5px 12px 5px 0;color:#111;font-weight:900;font-size:16px}.gouv-ds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gouv-ds-grid label{display:flex;flex-direction:column;font-size:13px;font-weight:800;color:#222}.gouv-ds-grid .wide{grid-column:1/-1}.gouv-ds-card input,.gouv-ds-card select,.gouv-ds-card textarea{width:100%;margin-top:8px;padding:14px 15px;border:1px solid #d9d9d9;border-radius:12px;background:#f7f7f7;color:#111;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.gouv-ds-card input:focus,.gouv-ds-card select:focus,.gouv-ds-card textarea:focus{background:#fff;border-color:#111;box-shadow:0 0 0 4px rgba(255,230,37,.45)}.gouv-ds-card textarea{min-height:96px}.gouv-ds-phone{display:grid;grid-template-columns:220px 1fr;gap:8px}.gouv-ds-check{flex-direction:row!important;align-items:center;gap:10px;background:#f7f7f7;border:1px solid #e1e1e1;border-radius:12px;padding:13px 14px}.gouv-ds-check input{width:auto!important;margin:0!important}.gouv-ds-note{background:#fffbe0;border:1px solid #f0dd53;border-radius:14px;padding:14px 16px;color:#333;line-height:1.5;font-size:14px}.gouv-ds-consent{font-size:13px;color:#333;margin-top:20px}.gouv-ds-consent input{width:auto;margin:0 7px 0 0}.gouv-ds-button,.gouv-ds-card input[type=submit],.gouv-ds-card button[type=submit]{background:#111;color:#fff;border:0;border-radius:12px;padding:14px 20px;font-weight:900;cursor:pointer;margin-top:18px;text-transform:uppercase;letter-spacing:.02em;box-shadow:0 8px 18px rgba(0,0,0,.18)}.gouv-ds-button:hover,.gouv-ds-card input[type=submit]:hover{background:#000;box-shadow:0 0 0 4px rgba(255,230,37,.55)}.gouv-ds-success{background:#f1ffe7;border-left:5px solid #4d9300;padding:13px 15px;border-radius:12px}.gouv-ds-error{background:#fff1f1;border-left:5px solid #b90000;padding:13px 15px;border-radius:12px}.gouv-ds-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gouv-ds-data p{background:#f7f7f7;border:1px solid #e1e1e1;border-radius:14px;padding:14px;margin:0}.gouv-ds-login{max-width:620px}.gouv-ds-login form p{margin:0 0 14px}.gouv-ds-login label{font-weight:800}.gouv-ds-login input[type=text],.gouv-ds-login input[type=password]{display:block;width:100%}.gouv-ds-login .login-remember label{display:flex;align-items:center;gap:8px}.gouv-ds-login input[type=checkbox]{width:auto;margin:0}
@media(max-width:820px){.gouv-ds-grid,.gouv-ds-data{grid-template-columns:1fr}.gouv-ds-card{padding:24px}.gouv-ds-card h2{font-size:28px}.gouv-ds-phone{grid-template-columns:1fr}.gouv-ds-lang{justify-content:flex-start;padding:0 14px}}

/* Language switcher visibility fix */
.gouv-ds-lang button{background:#fff!important;color:#111!important;border:1px solid #9b9b9b!important;min-width:45px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.gouv-ds-lang button.active,.gouv-ds-lang button:hover{background:var(--gouv-yellow)!important;color:#111!important;border-color:var(--gouv-yellow)!important}

/* Signature positioning mockup */
.gouv-ds-sign-position{grid-column:1/-1;margin-top:18px}
.gouv-ds-sign-position label{display:flex;flex-direction:column;max-width:180px;font-weight:800;font-size:13px;margin-bottom:12px}
.gouv-ds-page-mock{position:relative;width:100%;max-width:620px;height:420px;background:#fff;border:1px solid #d9d9d9;border-radius:14px;margin-top:12px;background-image:linear-gradient(#fafafa 1px,transparent 1px),linear-gradient(90deg,#fafafa 1px,transparent 1px);background-size:24px 24px;box-shadow:inset 0 0 0 18px #fff,0 12px 28px rgba(0,0,0,.06)}
.gouv-ds-stamp{position:absolute;left:235px;top:330px;transform:none;width:150px;min-height:46px;border:2px solid #111;border-left:8px solid var(--gouv-yellow);background:#fff;color:#111;border-radius:8px;padding:7px 10px;font-weight:900;line-height:1.05;cursor:grab;user-select:none;text-align:left;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.gouv-ds-stamp:active{cursor:grabbing}.gouv-ds-stamp small{font-size:10px;font-weight:700;color:#555}

/* Final language switcher contrast override */
.gouv-ds-app .gouv-ds-lang button,
.gouv-ds-lang button[data-lang]{
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
  background:#ffffff!important;
  border:1px solid #9b9b9b!important;
  opacity:1!important;
}
.gouv-ds-app .gouv-ds-lang button.active,
.gouv-ds-app .gouv-ds-lang button[aria-current="true"]{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:var(--gouv-yellow)!important;
  border-color:var(--gouv-yellow)!important;
}
.gouv-ds-app .gouv-ds-lang button:not(.active):hover{
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
  background:#f4f4f4!important;
  border-color:#111111!important;
}


/* Absolute language button contrast fix - highest priority */
html body .gouv-ds-app .gouv-ds-lang button[data-lang]:not(.active),
html body .gouv-ds-lang button[data-lang]:not(.active){
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  text-shadow:none !important;
  background-color:#ffffff !important;
  border-color:#b8b8b8 !important;
}
html body .gouv-ds-app .gouv-ds-lang button[data-lang].active,
html body .gouv-ds-lang button[data-lang].active{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:none !important;
  background-color:var(--gouv-yellow,#ffe625) !important;
  border-color:var(--gouv-yellow,#ffe625) !important;
}
