@charset "UTF-8";
h1,
.h1 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-style: normal;
  font-weight: var(--font-weight-h1);
  line-height: var(--line-height-h1);
}

h2,
.h2 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h2);
  font-style: normal;
  font-weight: var(--font-weight-h2);
  line-height: var(--line-height-h2);
}

h3,
.h3 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h3);
  font-style: normal;
  font-weight: var(--font-weight-h3);
  line-height: var(--line-height-h3);
}

h4,
.h4 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h4);
  font-style: normal;
  font-weight: var(--font-weight-h4);
  line-height: var(--line-height-h4);
}

h5,
.h5 {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h5);
  font-style: normal;
  font-weight: var(--font-weight-h5);
  line-height: var(--line-height-h5);
}

h1,
.h1 {
  font-size: var(--font-size-5xl);
}

.h1--small {
  font-size: var(--font-size-h1-sm);
  font-weight: var(--font-weight-h1-sm);
}

.h2--small {
  font-size: var(--font-size-h2-sm);
  font-weight: var(--font-weight-h2-sm);
  line-height: var(--line-height-h2-sm);
}

:root {
  --color-white: #ffffff;
  --color-white-rgb: 255, 255, 255;
  --color-black: #000000;
  --color-black-rgb: 0, 0, 0;
  --color-gray-50: #F7F7F7;
  --color-gray-100: #EFEFEF;
  --color-gray-200: #DCDCDC;
  --color-gray-300: #BDBDBD;
  --color-gray-400: #949494;
  --color-gray-500: #7C7C7C;
  --color-gray-600: #656565;
  --color-gray-700: #525252;
  --color-gray-800: #424242;
  --color-gray-900: #3D3D3D;
  --color-text-base: var(--color-black);
  --color-text-base-rgb: var(--color-black-rgb);
  --color-text-invert: var(--color-white);
  --color-bg-white: var(--color-white);
  --color-bg-base: var(--color-bg-white);
  --color-bg-base-rgb: var(--color-white-rgb);
  --color-tag-1: #EBAADC;
  --color-tag-1-light: color-mix(in srgb, white, var(--color-tag-1) 20%);
  --color-tag-2: #F0AA19;
  --color-tag-2-light: color-mix(in srgb, white, var(--color-tag-2) 20%);
  --color-tag-3: #32C86E;
  --color-tag-3-light: color-mix(in srgb, white, var(--color-tag-3) 20%);
  --color-success: #008234;
  --color-success-rgb: 0, 130, 52;
  --color-success-light: color-mix(in srgb, white, var(--color-success) 10%);
  --color-success-dark: color-mix(in srgb, var(--color-success), black 20%);
  --color-warning: #b25600;
  --color-warning-rgb: 178, 86, 0;
  --color-warning-light: color-mix(in srgb, white, var(--color-warning) 10%);
  --color-warning-dark: color-mix(in srgb, var(--color-warning), black 20%);
  --color-danger: #d52b26;
  --color-danger-rgb: 213, 43, 38;
  --color-danger-light: color-mix(in srgb, white, var(--color-danger) 10%);
  --color-danger-dark: color-mix(in srgb, var(--color-danger), black 20%);
  --color-info: #2d69e1;
  --color-info-rgb: 45, 105, 225;
  --color-info-light: color-mix(in srgb, white, var(--color-info) 10%);
  --color-info-dark: color-mix(in srgb, var(--color-info), black 20%);
  --color-visa-blue: #00579f;
  --color-bg-toast-success: #e5f2eb;
  --color-bg-toast-error: #fbeae9;
  --color-bg-toast-warning: #f7eee5;
  --color-bg-toast-info: #eaf0fc;
}

:root {
  --border-width: 1px;
  --border-color: var(--color-gray-300);
  --border-color-light: #f0f0f0;
  --border-color-dark: var(--color-gray-400);
  --border-color-black: var(--color-black);
  --border-base: var(--border-width) solid var(--border-color);
  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-3xl: 2rem;
  --radius-pill: 50rem;
  --radius-full: 1000rem;
  --radius-circle: 50%;
  --radius-button: 3rem;
  --shadow-card: 0 4px 8px rgba(0, 0, 0, 0.05);
}

:root {
  --spacing-0: 0;
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-7: 1.75rem;
  --spacing-8: 2rem;
  --spacing-9: 2.25rem;
  --spacing-10: 2.5rem;
  --spacing-11: 2.75rem;
  --spacing-12: 3rem;
  --spacing-14: 3.5rem;
  --spacing-16: 4rem;
  --spacing-18: 4.5rem;
  --spacing-20: 5rem;
  --spacing-21: 5.25rem;
  --spacing-23: 5.75rem;
  --spacing-25: 6.25rem;
  --spacing-26: 6.5rem;
  --spacing-27: 6.75rem;
  --spacing-28: 7rem;
  --spacing-30: 7.5rem;
  --spacing-35: 8.75rem;
  --spacing-37: 9.375rem;
  --spacing-45: 11.25rem;
  --spacing-50: 12.5rem;
  --spacing-65: 16.25rem;
  --spacing-104: 26rem;
  --spacing-136: 34rem;
  --spacing-px-n1: -1px;
  --spacing-px-1: 1px;
  --spacing-px-10: 0.625rem;
  --spacing-px-14: 0.875rem;
  --spacing-px-84: 5.25rem;
}

:root {
  --font-family-base: Lato, Arial, sans-serif;
  --font-family-heading: Lato, Arial, sans-serif;
  --font-size-root: 100%;
  --font-size-xxs: 0.625rem;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 2.5rem;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-regular: var(--font-weight-normal);
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;
  --font-weight-theme: var(--font-weight-bold);
  --font-weight-heading-emphasis: var(--font-weight-extrabold);
  --font-weight-description: var(--font-weight-semibold);
  --line-height-tight: 1.25;
  --line-height-normal: 1.375;
  --line-height-relaxed: 1.75;
  --font-size-h1: 2.25rem;
  --font-weight-h1: 900;
  --line-height-h1: 1.3;
  --font-size-h1-sm: 1.5rem;
  --font-weight-h1-sm: 700;
  --font-size-h2: 2rem;
  --font-weight-h2: 700;
  --line-height-h2: 1.25;
  --font-size-h2-sm: 1.25rem;
  --font-weight-h2-sm: 600;
  --line-height-h2-sm: 1.3;
  --font-size-h3: 1.5rem;
  --font-weight-h3: 700;
  --line-height-h3: 1.33;
  --font-size-h4: 1.25rem;
  --font-weight-h4: 700;
  --line-height-h4: 1.3;
  --font-size-h5: 1rem;
  --font-weight-h5: 700;
  --line-height-h5: 1.31;
}

:root {
  --padding-form-field: var(--spacing-3) var(--spacing-4);
  --padding-form-select: var(--spacing-3) var(--spacing-9) var(--spacing-3) var(--spacing-4);
  --color-form-field: var(--color-gray-600);
  --bg-form-field: var(--color-white);
  --border-form-field: var(--color-gray-400);
  --line-height-form-field: 1.25;
  --bg-form-field-focus: var(--color-gray-50);
  --border-form-field-focus: var(--color-black);
  --color-form-field-readonly: var(--color-gray-600);
  --bg-form-field-readonly: var(--color-gray-50);
  --border-form-field-readonly: var(--color-gray-600);
  --border-radius-form-field: var(--radius-xl);
  --bs-form-valid-color: var(--color-success);
  --bs-form-valid-border-color: var(--color-success);
  --bs-form-invalid-color: var(--color-danger);
  --bs-form-invalid-border-color: var(--color-danger);
  --form-check-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7' fill='none'%3E%3Cpath d='M9.31006 0.500027L3.70313 6.10708L0.5 2.90395' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --form-check-icon-size: 0.625rem 0.438rem;
}

:root {
  --color-theme-primary: #e91c1d;
  --color-theme-primary-rgb: 233, 28, 29;
  --color-theme-primary-light: color-mix(in srgb, white, var(--color-theme-primary) 30%);
  --color-theme-secondary: #59a892;
  --color-theme-secondary-rgb: 89, 168, 146;
  --color-theme-secondary-light: color-mix(in srgb, white, var(--color-theme-secondary) 30%);
  --color-theme-tertiary-1: var(--color-theme-tertiary-2);
  --color-theme-tertiary-2: #e67fae;
  --color-theme-tertiary-3: color-mix(in srgb, white, var(--color-theme-tertiary-2) 30%);
  --color-theme-pink: #e67fae;
  --color-theme-pink-light: var(--color-theme-pink);
  --color-theme-corail: #f8605d;
  --color-theme-corail-light: var(--color-theme-corail);
  --color-theme-orange: #f88724;
  --color-theme-orange-light: var(--color-theme-orange);
  --color-theme-violet: #995eac;
  --color-theme-bayam: #374099;
  --color-theme-bayam-light: #e3e5f6;
  --color-theme-blue: #4064b3;
  --color-theme-blue-light: var(--color-theme-blue);
  --color-theme-blue-extra-light: color-mix(in srgb, var(--color-theme-blue) 10%, white);
  --color-theme-blue-turquoise: #3fbfca;
  --color-theme-green: #62b942;
  --color-theme-green-light: var(--color-theme-green);
  --color-theme-green-2: #99c741;
  --color-theme-green-2-light: var(--color-theme-green-2);
  --color-theme-blue-cosmo: #183052;
  --color-theme-blue-cosmo-70: #5d6e86;
  --color-outline-focus: var(--color-theme-primary);
  --color-text-on-primary: #ffffff;
  --bg-form-check: var(--color-theme-primary);
  --color-product-page-bg: var(--color-theme-secondary-light);
  --color-reviews-bg: color-mix(in srgb, white, var(--color-theme-primary) 60%);
  --color-section-highlight-bg: var(--color-theme-secondary-light);
  --color-info-message-bg: var(--color-theme-secondary);
  --color-ludo-educatif-bg: var(--color-theme-secondary);
  --color-newsletter-bg: var(--color-theme-tertiary-3);
  --color-editorial-faq-bg: var(--color-theme-secondary);
  --color-footer-contact-bg: var(--color-theme-primary-light);
  --color-tooltip-bg: var(--color-theme-blue-cosmo);
}

.identification {
  padding: var(--spacing-8) 0 var(--spacing-12);
}
.identification__content {
  max-width: 30rem;
  margin: 0 auto;
}
.identification__social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-3);
  width: 100%;
  padding: var(--spacing-3) var(--spacing-6);
  border: var(--border-width) solid var(--color-gray-400);
  border-radius: var(--radius-xl);
  background-color: var(--color-white);
  color: var(--color-text-base);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  text-decoration: none;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}
.identification__social-btn:hover {
  border-color: var(--color-black);
  background-color: var(--color-gray-50);
  color: var(--color-text-base);
}
.identification__social-btn svg {
  flex-shrink: 0;
  width: var(--spacing-5);
  height: var(--spacing-5);
}
.identification__separator {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  margin: var(--spacing-6) 0;
}
.identification__separator::before, .identification__separator::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--color-gray-300);
}
.identification__separator span {
  color: var(--color-gray-600);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  white-space: nowrap;
}
.identification__password-requirements {
  margin-top: calc(-1 * var(--spacing-2));
  margin-bottom: var(--spacing-4);
  padding-left: var(--spacing-1);
}
.identification__password-requirements p {
  font-size: var(--font-size-xs);
  color: var(--color-gray-600);
  margin-bottom: var(--spacing-1);
}
.identification__password-requirements ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.identification__password-requirements ul li {
  font-size: var(--font-size-xs);
  color: var(--color-gray-600);
  line-height: var(--line-height-relaxed);
  padding-left: var(--spacing-4);
  position: relative;
  transition: color var(--transition-fast);
}
.identification__password-requirements ul li::before {
  content: "●";
  position: absolute;
  left: 0;
  width: 0.5rem;
}
.identification__password-requirements ul li.is-valid {
  color: var(--color-success);
}
.identification__password-requirements ul li.is-valid::before {
  content: "✓";
}
.identification__password-requirements ul li.is-invalid {
  color: var(--color-danger);
}
.identification__password-requirements ul li.is-invalid::before {
  content: "⨯";
  line-height: 1;
}
.identification__forgot-password {
  text-align: right;
  margin-bottom: var(--spacing-4);
}
.identification__forgot-password a {
  color: var(--color-text-base);
  font-size: var(--font-size-sm);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.identification__submit {
  display: block;
  margin: var(--spacing-6) auto 0;
  min-width: 12.5rem;
  padding: var(--spacing-3) var(--spacing-10);
  font-size: var(--font-size-base);
}
.identification__degditor-zone {
  margin-top: var(--spacing-12);
}

/* ======================
   LAYOUT / GLOBAL
====================== */
body {
  font-family: var(--font-family-base);
}

a {
  text-underline-offset: var(--spacing-1);
}

header.login-pf-page-header,
.kc-login-content {
  background-color: var(--color-white);
  border: 0;
}

/* ========= TYPO ========= */
h1, .h1 {
  font-size: var(--font-size-5xl);
}

h2, .h2 {
  font-size: var(--font-size-h2);
}

h3, .h3 {
  font-size: var(--font-size-h3);
}

h4, .h4 {
  font-size: var(--font-size-h4);
}

h5, .h5 {
  font-size: var(--font-size-h5);
}

.h1--small {
  font-size: var(--font-size-h1-sm);
}

.h2--small {
  font-size: var(--font-size-h2-sm);
}

/* ======================
   ICONS
====================== */
.icon-fill--primary {
  fill: var(--color-theme-primary);
}

/* ======================
   BRAND / HEADER
====================== */
.login-pf-page-brand .login-pf-page-brand-right {
  display: none;
}

.top-footer .login-pf-page-brand-left {
  display: none;
}

.back-to-top-btn {
  display: none;
}

/* ======================
   SOCIAL
====================== */
.zocial {
  align-items: center !important;
  background-color: var(--color-white) !important;
  border: var(--border-width) solid var(--color-gray-400) !important;
  border-radius: var(--radius-xl) !important;
  color: var(--color-text-base);
  display: flex !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-semibold) !important;
  gap: var(--spacing-3) !important;
  justify-content: center !important;
  padding: var(--spacing-3) var(--spacing-6) !important;
  width: 100% !important;
}
.zocial svg {
  flex-shrink: 0;
  height: var(--spacing-5);
  width: var(--spacing-5);
}

/* ======================
   BUTTON GROUP
====================== */
.button-group-wrapper {
  text-align: center;
}
.button-group-wrapper .button-group {
  background-color: transparent;
  border: 1px solid var(--color-gray-200);
  max-width: 22rem;
}
.button-group-wrapper .button-group .btn a, .button-group-wrapper .button-group .btn.active {
  font-weight: var(--font-weight-theme);
  font-size: var(--font-size-xs);
}
.button-group-wrapper .button-group .btn a {
  color: var(--color-gray-600);
}

/* ======================
   FORM
====================== */
.label-wrapper {
  position: inherit;
}

.form-label {
  font-weight: var(--font-weight-semibold);
}

.form-group .form-input {
  background-color: var(--bg-form-field);
  border-color: var(--border-form-field);
  border-radius: var(--border-radius-form-field);
  color: var(--color-form-field);
  line-height: var(--line-height-form-field);
  padding: var(--padding-form-field);
}
.form-group .form-input:focus {
  background-color: var(--bg-form-field-focus);
  border-color: var(--border-form-field-focus);
  color: var(--color-black);
  box-shadow: none;
}

.form-group.firstname, .form-group.lastname, .form-group.gender {
  display: none;
  opacity: 0;
}

.field-notice,
.cnil-rgpd,
#read-more {
  color: var(--color-gray-600);
}

.cnil-rgpd {
  text-align: justify;
}

#read-more {
  text-align: right;
}

/* ======================
   FOOTER STRUCTURE
====================== */
.kc-login-body .footer-infos {
  display: none;
}

#footer {
  border: none;
  padding: 1rem 0;
  min-height: inherit;
}

/* ======================
   CHECKBOX
====================== */
.checkmark {
  border: 1px solid var(--border-form-field);
  border-radius: var(--bs-border-radius-sm);
  margin: 0;
  width: var(--spacing-6);
  height: var(--spacing-6);
}

input[type=checkbox]:checked + .checkmark {
  background-color: var(--color-theme-secondary);
  border-color: var(--color-theme-secondary);
}
input[type=checkbox]:checked + .checkmark:after {
  border: solid var(--color-white);
  border-width: 0 2px 2px 0;
}

/* ======================
   MISC
====================== */
#kc-form-buttons input[type=submit],
#kc-form-buttons button {
  font-size: var(--font-size-base);
  padding: var(--spacing-3) var(--spacing-10);
}

.bg-primary-light {
  background-color: var(--color-theme-primary-light) !important;
}

.assurance-list {
  flex-direction: column;
}

.description,
.underliner {
  display: block;
}

#kc-social-providers {
  display: block;
}

.chevron-icon,
.white-rectangle,
.is-floating .white-rectangle {
  display: none;
}

.footer-image {
  width: 4.5rem;
  height: 4.5rem;
}

.modal-opener.remember-me {
  display: block;
}

.btn-back {
  display: inline-block;
}

.mentionslegales,
.mentions-allRights-reserved-mobile,
.mentions-allRights-reserved-desktop {
  font-family: var(--font-family-base);
}

#reassurance-412-heading {
  font-size: var(--font-size-lg);
}

/* ======================
   RESPONSIVE
====================== */
@media (min-width: 386px) {
  .button-group-wrapper .button-group .btn a, .button-group-wrapper .button-group .btn.active {
    font-size: var(--font-size-lg);
  }

  #reassurance-412-heading {
    font-size: var(--font-size-h2);
  }
}
@media (min-width: 992px) {
  .assurance-list {
    flex-direction: row;
  }
}
/* ========= THEME ========= */
:root {
  --color-theme-primary: #e91c1d;
  --color-theme-secondary: #59a892;
}

/* ========= DIFF ========= */
.btn-primary-dark {
  background-color: var(--color-theme-primary) !important;
}
.btn-primary-dark:hover {
  background-color: var(--color-theme-secondary) !important;
  color: var(--color-white) !important;
}

.btn.active,
.btn.active:active {
  background-color: var(--color-theme-primary);
  color: var(--color-white);
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
}

#footer {
  background: var(--color-theme-primary);
  color: var(--color-white);
}

.heart {
  color: var(--color-white);
}

.mentionslegales-link {
  color: var(--color-white);
}
