:root {
          /* Core color system */
          --bs-primary: #0d6efd;
          --bs-secondary: #6c757d;
          --bs-success: #198754;
          --bs-danger: #DF215E;
          --bs-warning: #ffc107;
          --bs-info: #0dcaf0;

          /* Background and text */
          --bs-body-bg: #fff;
          --bs-body-color: #212529;

          /* Component variables */
          --bs-border-radius: 0.375rem;
          --bs-link-color: #0d6efd;

        }

        html, body {
            background: #F8F8F8;
            font-family: Monserrat, opensans, sans-serif;
            overflow: auto;
        }

        h1 {
            color: #DF215E;
            text-align: center;
            font-family: Montserrat;
            font-size: 2rem;
            font-style: normal;
            font-weight: 700;
            line-height: 150%; /* 3rem */
            margin-bottom: 2.5rem;
        }

        h2 {
            color: #3C3C3B;
            text-align: center;
            font-family: Montserrat;
            font-size: 1.25rem;
            font-style: normal;
            font-weight: 700;
            line-height: 150%; /* 1.875rem */
        }

        .alert {
            padding: 0.75rem;
            justify-content: center;
            align-items: center;
            gap: 1rem;
            align-self: stretch;

            border-radius: 0.25rem;
            border: 2px solid var(--Status-Red-300, #ED99A6);
            background: var(--Status-Red-100, #FBE7EA);
        }
        .alert-danger {
            color: #3C3C3B;
        }

        .alert-link,
        .alert-danger .alert-link {
            color: var(--color-blue-600, #036EFC);
            font-style: normal;
            font-weight: 400;
            line-height: 150%;
            text-decoration-line: underline;
            text-decoration-style: solid;
            text-decoration-skip-ink: none;
            text-decoration-thickness: auto;
            text-underline-offset: auto;
            text-underline-position: from-font;
        }

        .carte {
            display: flex;
            padding: 2.5rem;
            flex-direction: column;
<!--            justify-content: center;-->
            align-items: flex-start;
            <!-- gap: 0.625rem;-->
            flex: 1 0 0;
            align-self: stretch;
        }

        .carte-secondaire {
            border-radius: 0.625rem;
            background: var(--color-graphite-100, #F8F8F8);
        }

        .carte-ombre {
            border-radius: 1.25rem;
            background: var(--color-bg-white, #FFF);

            /* Shadow/Drop/S */
            box-shadow: 0 0 16px 0 rgba(41, 41, 41, 0.05), 1px 1px 3px 0 rgba(41, 41, 41, 0.05);
        }


/* liens France connect */
.france-connect-login-link {
  margin: 2rem 0;
}
.france-connect-login-link a {
	margin: 0 auto .5rem auto;
	display: block;
	font-size: 14px;
	text-decoration: underline;
	text-align: center;
	color: rgb(0, 0, 145)
}

/* --- FranceConnect - Profil --- */
.france-connect-profile {
	padding: 16px 0 85px 35px;
	background: url('/ISA/images/fc-avatar-5fd70c3181e5a5a342fae011da1d3961.png') left center no-repeat;
	background-size: 30px 35px;
	background-repeat: no-repeat;
	background-position: 17px 21px;
}

#LoginConnexionFranceConnect {
	background-image: url('/ISA/images/franceconnect-btn-principal-6dcf8897c8a58821a64202ad9dac1860.png');
    background-repeat: no-repeat;
    width: 209px;
    height: 56px;
}
#LoginConnexionFranceConnect:hover {
	background-image: url('/ISA/images/franceconnect-btn-principal-hover-13c32e33234342cf4448f27853bcd82a.png');
}

@media screen and (max-width: 600px) {
    section {
        width: 100%;
    }
    .carte {
        padding: 1.5rem;
    }
}

.login-content {
    gap: 2.5rem;
    display: flex;
    /* width: 87.8125rem; */
    /* padding: 1.875rem 5rem 3.75rem 5rem; ! mobile */
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.btn-cta,
.btn-cta-secondary {
    font-weight: 600;
    display: flex;
    <!-- width: 25rem; -->
    padding: .4rem 0.75rem;
    padding: var(--dimension-100, 0.5rem) var(--dimension-200, 1rem);
    justify-content: center;
    align-items: center;
    gap: var(--dimension-100, 0.5rem);
    border-radius: var(--radius-sm, 0.25rem);
    background: var(--Brand-Lime-500, #D2DC2E);
}
.btn-cta-secondary {
    background: #F8F8F8;
}

.btn-cta:hover,
a.btn-cta:hover
button.btn-cta:hover {
    color: #000;
    text-decoration: none;
    background: var(--Brand-Lime-500, rgb(170 180 0));
}
.btn-cta-secondary:hover {
    color: #000;
    background: #FAFAFA;
}

button.btn-cta:disabled {
    opacity: .5;
}

a.text-link {
    color: #036EFC;
    text-decoration: underline;
}

body nav {
    margin-bottom: 0;
}
#main-content {
    margin-top: 4rem;
}

#banniere-concours-2026-desktop,
#banniere-concours-2026-mobile {
    max-width: 100%;
}

@media screen and (max-width: 1279px) {
    #banniere-concours-2026-desktop {
        display: none;
    }
    #banniere-concours-2026-mobile {
        display: block;
    }
}

@media screen and (min-width: 1280px) {
    #banniere-concours-2026-desktop {
        display: block;
    }
    #banniere-concours-2026-mobile {
        display: none;
    }
}

/*
.banniere-container {
    background: linear-gradient(90deg,rgba(213, 17, 48, 1) 45%, rgba(230, 48, 137, 1) 55%);
}
.banniere-concours-2026 {
    display: flex;
    align-content: flex-start;
    justify-content: center;
}
.banniere-concours-2026 {
    background-repeat: no-repeat;
    background-position-x: center;
    background-size: cover;
    padding: 0;
    margin: 0;
}

@media screen and (max-width: 1279px) {
    .banniere-concours-2026 {
        background-image: url('../images/banniere_mobile.png');
    }
}

@media screen and (min-width: 1280px) {
    .banniere-concours-2026 {
        background-image: url('../images/banniere_desktop.png');
    }
}
*/
/* code JP ircem.com */
.ircem-concours-banner-wrap {
  width: 100%;
  position: relative;
  z-index: 9;
}

.ircem-concours-banner__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.ircem-concours-banner__link:hover,
.ircem-concours-banner__link:focus {
  text-decoration: none;
  color: inherit;
}

.ircem-concours-banner {
  font-family: "Source Sans 3", sans-serif;
  background: #eb2f96;
  color: #fdf8fb;
}

.ircem-concours-banner img {
  display: block;
  max-width: 100%;
}

.ircem-concours-banner--desktop {
  min-height: 165px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  padding: 0 32px;
  position: relative;
}

.ircem-concours-banner__edge {
  position: absolute;
  width: 333px;
  height: 138px;
  top: 0;
  object-fit: contain;
  opacity: 0.95;
  pointer-events: none;
}

.ircem-concours-banner__edge--left {
  left: 0;
}

.ircem-concours-banner__edge--right {
  right: 0;
}

.ircem-concours-banner__left,
.ircem-concours-banner__right {
  width: 24%;
  min-width: 230px;
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 1;
}

.ircem-concours-banner__right {
  justify-content: flex-end;
  text-align: right;
}

.ircem-concours-banner__left {
  margin-left: 9%;
}

.ircem-concours-banner__right {
  margin-right: 9%;
}

.ircem-concours-banner__left-text strong,
.ircem-concours-banner__right-text strong {
  display: block;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}

.ircem-concours-banner__left-text span,
.ircem-concours-banner__right-text span {
  display: block;
  color: #fee591;
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
}

.ircem-concours-banner__center {
  width: 52%;
  text-align: center;
  position: relative;
  z-index: 1;
}

.ircem-concours-banner__desktop-glow {
  width: 437.08px;
  height: 202.87px;
  left: 200px;
  top: -120px;
  position: absolute;
  background: radial-gradient(
    ellipse 50% 50% at 50% 50%,
    #ffd1e7 0%,
    rgba(235, 47, 150, 0.2) 100%
  );
  border-radius: 9999px;
}

.ircem-concours-banner__title {
  margin: 0;
  font-size: 24px;
  line-height: 36px;
  font-weight: 700;
  color: #fdf8fb;
}

.ircem-concours-banner__subtitle {
  margin: 2px 0 10px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #fdf8fb;
}

.ircem-concours-banner__cta {
  display: inline-flex;
  padding: 8px 16px;
  border-radius: 4px;
  background: #171717;
  color: #ffffff;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 21px;
  font-weight: 600;
}

.ircem-concours-banner__cta:hover,
.ircem-concours-banner__cta:focus {
  color: #ffffff;
  background: #000000;
  text-decoration: none;
}

.ircem-concours-banner__legal {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-style: italic;
}

.ircem-concours-banner__sparkles {
  width: 98px;
  height: 70px;
  flex: 0 0 auto;
  object-fit: contain;
}

.ircem-concours-banner__gift {
  width: 65px;
  height: 65px;
  flex: 0 0 auto;
  object-fit: contain;
}

.ircem-concours-banner--mobile {
  min-height: 300px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 16px;
  position: relative;
  overflow: hidden;
}

.ircem-concours-banner__mobile-bg {
  position: absolute;
  top: 0;
  left: 90px;
  opacity: 0.4;
}

.ircem-concours-banner__mobile-overlay {
  position: absolute;
  inset: -120px -20px auto auto;
  width: 460px;
  height: 720px;
  opacity: 0.45;
  background: linear-gradient(319deg, #e8308a 0%, #d51130 100%);
}

.ircem-concours-banner__badge {
  margin-top: 2px;
  padding: 4px 14px;
  border-radius: 10px;
  background: #d7a600;
  color: #fdf8fb;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

.ircem-concours-banner__mobile-content {
  width: 100%;
  /*max-width: 332px;*/
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  position: relative;
  z-index: 1;
  padding: 0 1rem;
}

.ircem-concours-banner__mobile-content .ircem-concours-banner__sparkles {
  width: 98px;
  height: 70px;
}

.ircem-concours-banner__sparkles--mobile {
  margin-top: 8px;
}

.ircem-concours-banner__legal--mobile {
  margin-top: 20px;
}

@media (max-width: 991px) {
  .ircem-concours-banner--desktop {
    display: none;
  }

  .ircem-concours-banner--mobile {
    display: flex;
  }

  .ircem-concours-banner--mobile .ircem-concours-banner__title {
    font-size: 18px;
    line-height: 27px;
  }

  .ircem-concours-banner--mobile .ircem-concours-banner__subtitle {
    margin: 0;
    font-size: 14px;
    line-height: 18px;
  }
}

/* modifs GBU */

.ircem-concours-banner--desktop {
  /*min-height: 165px;*/
  min-height: 8rem;
}

.ircem-concours-banner__left-text strong,
.ircem-concours-banner__right-text strong {
  color: #fff;
}

.ircem-concours-banner--mobile {
  min-height: 230px;
  padding-bottom: 1.5rem;
}

@media (max-width: 1549px) {
    .ircem-concours-banner__edge.ircem-concours-banner__edge--left,
    .ircem-concours-banner__edge.ircem-concours-banner__edge--right {
        display: none;
    }

    .ircem-concours-banner__left {
      margin-left: 0;
    }
    .ircem-concours-banner__right {
      margin-right: 0;
    }
}

/* Hide the native password reveal button in Edge
   https://stackoverflow.com/a/79387773 */
input[type="password"]::-ms-reveal {
     display: none;
}


header .afaq-logo {
	position: absolute;
	top: 22px;
	left: 50%;
	margin-left: 17rem;
}

@media (max-width: 1035px) {
    header .afaq-logo {
	    left: unset;
        right: 0;
        margin-right: 2rem;
    }
}

#register-trusted-device section {
    align-items: center;
}
#register-trusted-device ul {
    width: 75%;
}
#register-trusted-device ul li {
    list-style: disc;
    margin-bottom: .75rem;
}