      .navbar-nav .nav-link:hover {
        color: #15106e !important;
      }
      .page-loading {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -webkit-transition: all .4s .2s ease-in-out;
        transition: all .4s .2s ease-in-out;
        background-color: #fff;
        opacity: 0;
        visibility: hidden;
        z-index: 9999;
      }
      [data-bs-theme="dark"] .page-loading {
        background-color: #121519;
      }
      .page-loading.active {
        opacity: 1;
        visibility: visible;
      }
      .page-loading-inner {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        text-align: center;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-transition: opacity .2s ease-in-out;
        transition: opacity .2s ease-in-out;
        opacity: 0;
      }
      .page-loading.active > .page-loading-inner {
        opacity: 1;
      }
      .page-loading-inner > span {
        display: block;
        font-family: "Inter", sans-serif;
        font-size: 1rem;
        font-weight: normal;
        color: #6f788b;
      }
      [data-bs-theme="dark"] .page-loading-inner > span {
        color: #fff;
        opacity: .6;
      }
      .page-spinner {
        display: inline-block;
        width: 2.75rem;
        height: 2.75rem;
        margin-bottom: .75rem;
        vertical-align: text-bottom;
        background-color: #d7dde2; 
        border-radius: 50%;
        opacity: 0;
        -webkit-animation: spinner .75s linear infinite;
        animation: spinner .75s linear infinite;
      }
      [data-bs-theme="dark"] .page-spinner {
        background-color: rgba(255,255,255,.25);
      }
      @-webkit-keyframes spinner {
        0% {
          -webkit-transform: scale(0);
          transform: scale(0);
        }
        50% {
          opacity: 1;
          -webkit-transform: none;
          transform: none;
        }
      }
      @keyframes spinner {
        0% {
          -webkit-transform: scale(0);
          transform: scale(0);
        }
        50% {
          opacity: 1;
          -webkit-transform: none;
          transform: none;
        }
      }
  
  :root{
    --lux-bg: #0B0F1A;            /* deep navy */
    --lux-primary: #2F73FF;       /* medical blue */
    --lux-accent: #9AD0FF;        /* soft accent */
    --lux-ink: #0E1220;
    --lux-ink-2: #3B4256;
    --lux-card: rgba(255,255,255,0.06);
    --lux-border: rgba(255,255,255,0.12);
    --lux-shadow: 0 2px 8px rgba(0,0,0,.18);
    --lux-radius-xl: 28px;
    --lux-radius-lg: 18px;
  }

  /* Premium look: glass cards + subtle gradient backgrounds */
  [data-bs-theme="dark"] .lux-hero {
    background: radial-gradient(90% 120% at 10% 0%, rgba(47,115,255,.15) 0%, rgba(10,14,24,0) 60%),
                radial-gradient(120% 120% at 90% -10%, rgba(154,208,255,.12) 0%, rgba(10,14,24,0) 55%),
                var(--lux-bg);
  }
  .lux-hero .jarallax-img { filter: contrast(0.9) saturate(0.9) brightness(0.6); }

  .lux-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.04) 100%);
    border: 1px solid var(--lux-border);
    backdrop-filter: blur(8px);
    border-radius: var(--lux-radius-xl);
    box-shadow: var(--lux-shadow);
  }
  .lux-card-minimal{
    background: var(--lux-card);
    border: 1px solid var(--lux-border);
    border-radius: var(--lux-radius-lg);
    backdrop-filter: blur(6px);
  }

  .lux-kpi {
    display:flex; align-items:center; gap:.75rem;
    padding:.9rem 1rem; border-radius:999px;
    background: rgba(255,255,255,0.07); border:1px solid var(--lux-border);
  }

  .lux-pill {
    border-radius:999px; padding:.55rem .95rem; border:1px solid var(--lux-border);
    background: rgba(255,255,255,.05);
  }

  .lux-legend { color: #cfd6e6; }
  .lux-divider { height:1px; background: var(--lux-border); }

  .lux-step .badge{
    width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
    border-radius:50%; font-weight:700;
  }

  .lux-cta {
    background: linear-gradient(135deg, rgba(47,115,255,.18), rgba(154,208,255,.12));
    border:1px solid var(--lux-border);
    border-radius: var(--lux-radius-xl);
    box-shadow: var(--lux-shadow);
  }

  /* Premium typography tweaks */
  h1.display-2, .display-2 { letter-spacing: -.02em; }
  .lead { color:#E6ECF8; }

  /* Buttons */
  .btn-lux {
    border-radius:999px; padding:.8rem 1.25rem; font-weight:600;
    box-shadow: 0 6px 16px rgba(47,115,255,.35);
  }
  .btn-primary {
    background-color:#0C0950;
    border : solid 1px #0C0950

  }
   .btn-primary:hover {
    background-color:#fff;
    border : solid 1px #0C0950;
    color:#0C0950

  }
  .btn-outline-primary {
    border : solid 1px #0C0950;
    color : #0C0950

    
  }
  .btn-outline-primary:hover { border-width:1.5px; 
    background-color:#0C0950
                          }
   .lux-sticky-call:hover {
    background-color:#fff;
    border : solid 1px #0C0950;
    color:#0C0950
   }
  /* Sticky phone on mobile */
  @media (max-width: 767.98px){
    .lux-sticky-call {
      position: fixed; bottom: 16px; right: 16px; z-index: 1040;
      border-radius: 999px; box-shadow: var(--lux-shadow);
    }
  }

  /* Better breadcrumb contrast on dark hero */
  [data-bs-theme="dark"] .breadcrumb .breadcrumb-item a { color:#cfe2ff; }
  [data-bs-theme="dark"] .breadcrumb .breadcrumb-item.active { color:#ffffff; opacity:.9; }

  .bg-primary {
    background-color: #0C0950 !important;
  }

  /* Desktop: fixed sidebar on the right */
@media (min-width: 992px) {
  .service-sidebar{
    position: fixed;
    right: 24px;
    top: 96px;
    width: 320px;
    z-index: 1030;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 120px);
    overflow: auto;
    gap: 12px;
  }
}

/* Mobile: full width block at the bottom */
@media (max-width: 991.98px) {
  .service-sidebar{
    position: relative;
    margin-top: 2rem;     /* spacing before footer */
    width: 100%;
  }
}

/* Sidebar — sober, professional tone */
.sidebar-card{
  background: #fff;
  border: 1px solid #E6EAF0;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

[data-bs-theme="dark"] .sidebar-card{
  background: #121519;
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 1px 6px rgba(0,0,0,.35);
}

.sidebar-title{
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: .75rem;
  color: var(--lux-ink-2);
}
[data-bs-theme="dark"] .sidebar-title{ color: #cfd6e6; }

.sidebar-text{
  font-size: .95rem;
  color: #5B6478;
}
[data-bs-theme="dark"] .sidebar-text{ color: #b9c2d6; }

/* Buttons: no glow, compact, crisp borders */
.sidebar-btn{
  border-radius: 10px;
  padding: .6rem .9rem;
  font-weight: 600;
  box-shadow: none !important;
}
.sidebar-card .btn-primary{
  background-color: #0C0950;
  border-color: #0C0950;
}
.sidebar-card .btn-primary:hover{
  background-color: #15106e;
  border-color: #15106e;
}
.sidebar-card .btn-outline-primary{
  color: #0C0950;
  border-color: #D6D9E0;
  background: #fff;
}
.sidebar-card .btn-outline-primary:hover{
  background: #F5F7FB;
  border-color: #C9CED8;
}
[data-bs-theme="dark"] .sidebar-card .btn-outline-primary{
  color: #E6ECF8;
  border-color: rgba(255,255,255,.18);
  background: transparent;
}
[data-bs-theme="dark"] .sidebar-card .btn-outline-primary:hover{
  background: rgba(255,255,255,.06);
}

/* Accordion: flat, dense */
.sidebar-accordion .accordion-item{ border: 0; }
.sidebar-accordion .accordion-button{
  padding: .5rem 0;
  font-size: .95rem;
  background: transparent;
  box-shadow: none;
  color: inherit;
}
.sidebar-accordion .accordion-button:not(.collapsed){ background: transparent; }
.sidebar-accordion .accordion-body{ padding: .5rem 0 .75rem; }

/* Links list */
.sidebar-list{ list-style: none; padding-left: 0; }
.sidebar-list li{ padding: .35rem 0; }
.sidebar-link{
  text-decoration: none;
  color: var(--lux-ink-2);
}
.sidebar-link:hover{ color: var(--lux-primary); text-decoration: underline; }
[data-bs-theme="dark"] .sidebar-link{ color: #cfd6e6; }
[data-bs-theme="dark"] .sidebar-link:hover{ color: #9AD0FF; }

.accordion-button:not(.collapsed) {
    color: #15106e;
    background-color: var(--ar-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--ar-accordion-border-width)) 0 var(--ar-accordion-border-color);

}
    /* Reusable framed media for steps images */
.steps-media {
  max-width: 880px;         /* cap width */
  margin: 0 auto;           /* center in container */
}

.steps-media .frame {
  background: #fff;
  border: 1px solid #E6EAF0;
  border-radius: 16px;
  padding: 10px;            /* frame padding */
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

[data-bs-theme="dark"] .steps-media .frame {
  background: #121519;
  border-color: rgba(255,255,255,.12);
}

.steps-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;      /* inner radius a bit smaller than frame */
}
/* Sticky container (mobile only thanks to d-md-none) */
.lux-sticky-actions{
  position: fixed;
  right: 16px;
  bottom: 16px;
  display: flex;
  gap: 10px;
  z-index: 1080; /* above hero/jarallax */
}

/* Buttons */
.lux-btn-phone{
  color:#fff !important;
  border:1px solid #fff !important;
  background-color:#0C0950 !important;
}

.lux-btn-whatsapp{
  color:#fff !important;
  border:1px solid #25D366 !important;
  background-color:#25D366 !important;
}

/* Make them round, consistent size */
.lux-btn-phone,
.lux-btn-whatsapp{
  width: 52px;
  height: 52px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}


    .breadcrumb-item.active {
  color: #0C0950 !important;
}

/* Default (desktop/tablet): outline style */
.btn-outline-primary {
  border-color: #E7D4AE !important;
  color: #E7D4AE !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #E7D4AE !important;
  color: #000 !important; /* black icon/text on gold */
  border-color: #E7D4AE !important;
}

/* Mobile only: always show hover style */
@media (max-width: 767.98px) {
  .btn-outline-primary {
    background-color: #E7D4AE !important;
    color: #000 !important;
    border-color: #E7D4AE !important;
  }
}

    /* --- Onglets --- */
    .nav-tabs .nav-link {
        transition: background-color 0.3s, color 0.3s, transform 0.2s;
    }

    .nav-tabs .nav-link:hover {
        background-color: #ffffff10;
        color: #ffc107;
        transform: scale(1.05);
    }

    /* Onglet actif : fond clair, texte foncé */
    .nav-tabs .nav-link.active {
        background-color: #fff !important;
        color: #121519 !important;
        transform: none;
    }

    /* --- Bouton "Next" --- */
    .btn-dark {
        transition: background-color 0.3s, color 0.3s, box-shadow 0.3s, transform 0.2s;
    }

    .btn-dark:hover {
        background-color: #000;
        color: #ffc107;
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
        transform: translateY(-2px);
    }

    /* Quand cliqué (focus ou active), on inverse les couleurs */
    .btn-dark:active,
    .btn-dark:focus {
        background-color: #fff !important;
        color: #121519 !important;
        border: 1px solid #121519;
        box-shadow: inset 0 0 0 1px #121519;
    }

    .feature-list {
        list-style: none;
        padding: 0;
        margin-bottom: 2rem;
    }

    .feature-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 1.5rem;
    }

    .feature-item-icon {
        flex-shrink: 0;
        width: 42px;
        height: 42px;
        background: #e7d4ae;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        margin-right: 1rem;
    }

    .feature-item-content h5 {
        font-size: 1rem;
        margin-bottom: 0.25rem;
        font-weight: 600;
        color: #212529;
    }

    .feature-item-content p {
        margin: 0;
        font-size: 0.95rem;
        color: #6c757d;
    }

    .my-form {
        background-color: white;
        color: black;
        padding: 2rem;
        border-radius: 1rem;
        max-width: 960px;
        margin: auto;
    }

    .my-form input,
    .my-form select,
    .my-form textarea {
        background-color: white;
        color: black;
        border: 1px solid #ccc;
    }

    .my-form input:focus,
    .my-form select:focus,
    .my-form textarea:focus {
        border-color: #0d6efd;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    }

    .my-form label {
        color: #555;
    }

    body.dark-mode .my-form {
        background-color: #121212;
        color: #eee;
    }

    body.dark-mode .my-form input,
    body.dark-mode .my-form select,
    body.dark-mode .my-form textarea {
        background-color: #222;
        color: #eee;
        border: 1px solid #555;
    }

    body.dark-mode .my-form input:focus,
    body.dark-mode .my-form select:focus,
    body.dark-mode .my-form textarea:focus {
        border-color: #66aaff;
        box-shadow: 0 0 0 0.25rem rgba(102, 170, 255, 0.5);
    }

    body.dark-mode .my-form label {
        color: #ccc;
    }

    .my-form input::placeholder,
    .my-form select::placeholder,
    .my-form textarea::placeholder {
        color: #6c757d;
    }

    body.dark-mode .my-form input::placeholder,
    body.dark-mode .my-form select::placeholder,
    body.dark-mode .my-form textarea::placeholder {
        color: #aaa;
        opacity: 1;
    }

    .btn-contact {
        background-color: #E7D4AE;
        color: #0C0950 !important;
        border: 2px solid #E7D4AE;
        transition: background-color 0.3s, color 0.3s;
    }

    .btn-contact:hover {
        background-color: #0C0950 !important;
        color: #E7D4AE !important;
        border: 2px solid #E7D4AE;
    }

    .text-gold {
        color: #E7D4AE;
        font-size: 1.25rem;
    }

    .feature-item-icon {
        background: none !important;
        border: none !important;
        padding: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }


    /* Carte carrée avec image pleine */
.card-hover.zoom-effect {
  aspect-ratio: 1 / 1;
  border-radius: 1rem !important;
  overflow: hidden;
  position: relative;
}

/* L'image couvre toute la carte */
.zoom-effect-wrapper,
.zoom-effect-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.zoom-effect-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Dégradé discret en bas uniquement */
.card-hover > span.position-absolute {
  background: linear-gradient(to top, rgba(18, 21, 25, 0.85) 30%, rgba(0, 0, 0, 0) 100%) !important;
  z-index: 1;
}

/* Contenu texte placé proprement en bas */
.card-hover .position-absolute.bottom-0 {
  z-index: 2;
  padding: 1.25rem;
  bottom: 0;
}

/* Titre plus bas et plus petit */
.card-hover h3.h4 {
  font-size: 1.5rem !important;
  margin-bottom: 0;
}

/* Cache la ligne avec icône et description invisible */
.card-hover .d-flex.opacity-0 {
  display: none;
}

/* Réduit légèrement la taille des cartes */
.card-hover.zoom-effect {
  max-width: 95%;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
}
.custom-btn-intervention {
  background-color: rgba(12, 9, 80, 0.1);  /* ton bleu en opacité 10% */
  color: #0C0950;
  border: 1px solid transparent;
  transition: all 0.2s ease-in-out;
}

.custom-btn-intervention:hover {
  background-color: #0C0950;
  color: #ffffff;
  border-color: #0C0950;
  text-decoration: none;
}
/* Fallback to ensure the card has height on Safari if aspect-ratio glitches */
.card-hover.zoom-effect{
  aspect-ratio: 1 / 1;
  max-width: 95%;
  margin: 0 auto;
  position: relative;
  min-height: 280px;              /* <-- safety net for Safari */
}

/* True fallback for older Safari (pads to a square) */
@supports not (aspect-ratio: 1 / 1) {
  .card-hover.zoom-effect{ height: 0; padding-bottom: 100%; }
  .zoom-effect-wrapper{ position:absolute; inset:0; }
}

/* Make 100% sure nothing above overlaps */
section.position-relative.bg-white{ z-index: 1; position:relative; }
:root{
  /* Tweak these two to taste */
  --hero-bottom-space: clamp(140px, 18vw, 420px);
  --cards-overlap:     clamp(60px, 10vw, 220px);
}

/* Create space at bottom of the hero responsibly */
.hero{
  padding-bottom: var(--hero-bottom-space);
  position: relative;
  z-index: 1;
}

/* Pull cards up over the hero (safe for Safari) */
.section-cards{
  margin-top: calc(var(--cards-overlap) * -1);
  isolation: isolate;
  z-index: 10;
}

/* Optional: on small screens, reduce or disable overlap */
@media (max-width: 576px){
  :root{
    --cards-overlap: clamp(20px, 6vw, 80px);
  }
}

.breadcrumb-item.active {
  color: #0C0950 !important;
}

.i-custom {
  color: #E7D4AE;
}

/* Couleur des bullets swiper */
.swiper-pagination-bullet {
  background-color: #0C0950 !important;
  opacity: 0.3;
  transition: opacity 0.3s;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background-color: #0C0950 !important;
}
    .icon-deepblue {
  color: #0C0950;
}

/* Couleur par défaut */

.step-number-inner {
  color: #0C0950 !important;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}

/* Hover du step */
.step:hover .step-number-inner {
  background-color: #0C0950 !important; /* fond bleu profond */
  color: #fff !important;               /* icône blanche */
  border-color: #0C0950 !important;     /* si un contour existe */
}


.btn-outline-gold {
  color: #E7D4AE !important;
  border: 1px solid #E7D4AE !important;
  background-color: transparent !important;
  transition: all 0.3s ease;
}

.btn-outline-gold:hover,
.btn-outline-gold:focus {
  background-color: #E7D4AE !important;
  color: #0C0950 !important; /* pour icône lisible sur fond doré */
  border-color: #E7D4AE !important;
}



.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #E7D4AE !important;
  color: #000 !important; /* texte noir sur fond doré */
  border-color: #E7D4AE !important;
}

.i-gold {
  color: #E7D4AE !important;
}

.btn-custom-dark {
  background-color: #0C0950;
  color: #fff;
  border: none;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
  font-weight: 500;
  border-radius: 0.5rem;
}

.btn-custom-dark:hover,
.btn-custom-dark:focus {
  background-color: #1a1575; /* teinte plus claire en hover */
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(12, 9, 80, 0.3);
}

.btn-contact {
  background-color: #E7D4AE;
  color: black;
  border: 2px solid #E7D4AE;
  transition: background-color 0.3s, color 0.3s;
}

.btn-contact:hover {
  background-color: #1a1575 !important;
  color: #E7D4AE;
  border: 2px solid #E7D4AE;
}

/* Reduce margins/paddings around the logo */
.navbar-brand {
  padding-top: 0.25rem;   /* smaller top space */
  padding-bottom: 0.25rem; 
  margin: 0;              /* remove default margins */
}

/* General logo size */
.navbar-brand img {
  max-height: 120px;   /* smaller height for desktop */
  height: auto;
  width: auto;
  display: block;
}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus { color: #E7D4AE !important; }
/* On mobile, make it even smaller */
@media (max-width: 991.98px) {
  .navbar-brand img {
    max-height: 100px;  /* smaller logo for mobile */
  }
}
/* Default (mobile and below lg): keep links black */
.navbar-nav .nav-link {
  color: #000 !important;
}

/* On desktop (lg and above): make links white */
@media (min-width: 992px) {
  .navbar-nav .nav-link {
    color: #fff !important;
  }
}
.dropdown-toggle {
  color: #fff !important;
}



/* Base (filled) — keeps your current look */
.custom-btn-phone{
  width: 100%;
  max-width: 250px;
  margin-top: .75rem;
  background-color: #E7D4AE;
  color: #0C0950;
  border: 1px solid #E7D4AE;
  transition: all .2s ease-in-out;
}
.custom-btn-phone:hover{
  background-color: #0C0950;
  color: #E7D4AE;
  border-color: #E7D4AE;
  text-decoration: none;
}

.custom-btn-phone-mobile{
  width: 100%;
  max-width: 250px;
  margin-top: .75rem;
  background-color: #0C0950;
  color: #fff;
  border: 1px solid  #0C0950;
  transition: all .2s ease-in-out;
}
.custom-btn-phone-mobile:hover{
  background-color: #fff;
  color: #0C0950;
  border-color: #0C0950;
  text-decoration: none;
}

/* Outline variant */
.custom-btn-outline {
  width: 100%;
  max-width: 250px;
  margin-top: .75rem;
  background-color: transparent;
  color: #E7D4AE;
  border: 1px solid #E7D4AE;
  transition: all .2s ease-in-out;
}
.custom-btn-outline:hover {
  background-color: #E7D4AE;
  color: #0C0950;
  border-color: #0C0950;
}

/* Optional spacing for the pair */
.header-contacts { gap: .5rem; }

/* Your existing dropdown hover */
.dropdown-item:hover { color: #0C0950; }
/* 1) Fix the small hex typo that can break Safari parsing */
.custom-btn-outline:hover{
  background-color: #E7D4AE;
  color: #0C0950;         /* you had #0C095  ← missing the last 0 */
  border-color: #0C0950;
}

/* 2) Safari-safe spacing for the two right-side buttons on desktop */
@media (min-width: 992px){
  .header-contacts{
    display: flex;
    align-items: center;
    /* We'll use margin spacing for maximum Safari reliability */
  }
  .header-contacts > * + *{
    margin-left: .5rem;   /* add space only after the first item */
  }

  /* Remove the mobile top margin so they align nicely on one line */
  .custom-btn-phone,
  .custom-btn-outline{
    margin-top: 0;
  }
}
  /* Make sure buttons render as inline-flex pills consistently */
  

/* 3) Optional: keep vertical spacing between the two buttons in the collapsed (mobile) menu */
@media (max-width: 991.98px){
  #navbarNav .nav-item.d-lg-none + .nav-item.d-lg-none{
    margin-top: .5rem;
  }
}


  .btn-contact {
    background-color: #E7D4AE;
    color: black;
    border: 2px solid #E7D4AE;
    transition: background-color 0.3s, color 0.3s;
  }

  .btn-contact:hover {
    background-color: black;
    color: #E7D4AE;
    border: 2px solid #E7D4AE;
  }

  .btn-contact2 {
    background-color: #E7D4AE;
    color: #0C0950;
    border: 2px solid #E7D4AE;
    transition: background-color 0.3s, color 0.3s;
  }

  .btn-contact2:hover {
    background-color: #0C0950;
    color: #E7D4AE;
    border: 2px solid #E7D4AE;
  }

  /* Style personnalisé pour la checkbox */
  .custom-checkbox {
    width: 1.2rem;
    height: 1.2rem;
    background-color: #0C0950;
    border: 2px solid #E7D4AE;
    border-radius: 0.25rem;
    transition: background-color 0.3s, border-color 0.3s;
    margin-top: 0.2rem;
  }

  /* Couleur de fond quand cochée */
  .custom-checkbox:checked {
    background-color: #E7D4AE;
    border-color: #E7D4AE;
  }

  /* Touche de style pour le lien CGU */
  .link-terms {
    color: #E7D4AE;
    text-decoration: underline;
    font-weight: 500;
  }

  .link-terms:hover {
    color: #E7D4AE;
    text-decoration: none;
  }