/* Webflow embeds (head styles, global-styles block, cookie banner overrides), in the published cascade order. */

/* head */
html.w-mod-js:not(.w-mod-ix3):is([data-anim="heading"]) {visibility: hidden !important;}html.w-mod-js:not(.w-mod-ix3):is([data-anim="heading"]) * {visibility: hidden !important;}html.w-mod-js:not(.w-mod-ix3):is([data-anim="text"]) {visibility: hidden !important;}html.w-mod-js:not(.w-mod-ix3):is([data-anim="text"]) * {visibility: hidden !important;}html.w-mod-js:not(.w-mod-ix3):is([data-anim="scale"]) {visibility: hidden !important;}html.w-mod-js:not(.w-mod-ix3):is([data-anim="scale"]) * {visibility: hidden !important;}html.w-mod-js:not(.w-mod-ix3) :is([data-anim="heading"], [data-anim="text"], [data-anim="scale"]) {visibility: hidden !important;}@media not all and (max-width: 479px) and (min-width: 0px){@media not all and (max-width: 767px) and (min-width: 480px){html.w-mod-js:not(.w-mod-ix3) :is(.radio_field) {visibility: hidden !important;}}}

/* head */
html, body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -o-font-smoothing: antialiased;
  }

/* global-styles_fluid */
/* OLD
  html { font-size: calc(0.14285714285714346rem + 0.9523809523809518vw); }
  @media screen and (max-width:1650px) { html { font-size: calc(0.14285714285714268rem + 0.9523809523809526vw); } }
  @media screen and (max-width:1440px) { html { font-size: calc(0.39866369710467703rem + 0.6681514476614699vw); } }
  @media screen and (max-width:991px) { html { font-size: calc(0.6969866071428572rem + 0.8928571428571428vw); } }
  @media screen and (max-width:767px) { html { font-size: calc(0.5636709601873536rem + 1.1709601873536302vw); } }
  @media screen and (max-width:340px) { html { font-size: calc(0.37389380530973454rem + 1.7699115044247786vw); } }


  :root {
    --font-from: 20;
    --font-to: 22;
    --vw-from: calc(1920 / 100);
    --vw-to: calc(2400 / 100);
    --coefficient: calc((var(--font-to) - var(--font-from)) / (var(--vw-to) - var(--vw-from)));
    --base: calc((var(--font-from) - var(--vw-from) * var(--coefficient)) / 16);
  }

  html {
    font-size: calc(var(--base) * 1rem + var(--coefficient) * 1vw);
  }

  @media screen and (max-width: 1920px) {
    :root {
      --font-from: 16;
      --font-to: 18;
      --vw-from: calc(1440 / 100);
      --vw-to: calc(1920 / 100);
      }
  }

  @media screen and (max-width: 1440px) {
    :root {
      --font-from: 12;
      --font-to: 14;
      --vw-from: calc(479 / 100);
      --vw-to: calc(1440 / 100);
      }
  }

  @media screen and (max-width: 479px) {
    :root {
      --font-from: 12;
      --font-to: 14;
      --vw-from: calc(1 / 100);
      --vw-to: calc(479 / 100);
      }
  }
  */
   /* Par défaut : plage FLUIDE pour grands écrans (1440 → 2400) */
  :root {
    --font-from: 16;
    --font-to: 22;
    --vw-from: calc(1440 / 100);
    --vw-to: calc(2400 / 100);
    --coefficient: calc((var(--font-to) - var(--font-from)) / (var(--vw-to) - var(--vw-from)));
    --base: calc((var(--font-from) - var(--vw-from) * var(--coefficient)) / 16);
  }

  /* Fluid uniquement quand l'écran est ≥ 1440px */
  @media screen and (min-width: 1440px) {
    html {
      font-size: calc(var(--base) * 1rem + var(--coefficient) * 1vw);
    }
  }

  /* En dessous de 1440px : on applique le "style 1440" figé */
  @media screen and (max-width: 1439px) {
    html {
      font-size: 16px; /* équivalent de ce que donne ta formule à 1440px */
      /* ou 0.875rem si 1rem = 16px */
    }
  }

/* global-styles_base */
/* Focus state style for keyboard navigation for the focusable elements */
  *[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
  }

  /* Get rid of top margin on first element in any rich text element */
  .w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
    margin-top: 0 !important;
  }

  /* Get rid of bottom margin on last element in any rich text element */
  .w-richtext>:last-child {
    margin-bottom: 0 !important;
  }

  /* Make sure containers never lose their center alignment */
  .container {
    margin-right: auto !important;
    margin-left: auto !important;
  }


  .w-nav-overlay {
    top: 0rem;
  }
  ::selection {
    /* Modifie la couleur du background de la sélection */ 
    background-color: var(--_colorswatch---brand-2); 
    /* Modifie la couleur du texte de la sélection */ 
    color: var(--_colorswatch---brand-3); 
  }

  [data-accordion="content"] .w-richtext :is(h1,h2) {display:none;}

/* global-styles_texts */
/*****************************************/
  /***************** HEADERS ******************/
  /*****************************************/
 
  /* Apply "..." after 3 lines of text */
  [text-style="3lines"] {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  /* Apply "..." after 2 lines of text */
  [text-style="2lines"] {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  [text-style="balance"] {text-wrap: balance;}
  [text-style="nowrap"] {
    white-space: nowrap;
  }
  
  [text-orient="sideways"] {
  writing-mode: sideways-lr;
}

@supports not (writing-mode: sideways-lr) {
  [text-orient="sideways"] {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }
}

/* global-styles_headings */
[title-size="h1"] :is(h1, h2, h3, h4, h5, h6){
    font-size: var(--_responsivesizing---fontsize-h1);
    line-height: var(--lineheight--lineheight-h1);
  }
  [title-size="h2"] :is(h1, h2, h3, h4, h5, h6){
    font-size: var(--_responsivesizing---fontsize-h2);
    line-height: var(--lineheight--lineheight-h2);
  }
  [title-size="h3"] :is(h1, h2, h3, h4, h5, h6){
    font-size: var(--_responsivesizing---fontsize-h3);
    line-height: var(--lineheight--lineheight-h3);
  }
  [title-size="h4"] :is(h1, h2, h3, h4, h5, h6){
    font-size: var(--_responsivesizing---fontsize-h4);
    line-height: var(--lineheight--lineheight-h3);
  }
  
 /* For all p, h2, h3, h4, h5, h6 inside [richtext-card-text], inherit font-size, font-family, and font-weight */
  [richtext-card-text] :is(p, h2, h3, h4, h5, h6) {
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
  }

  /* For all h1, img, embed inside [richtext-card-text], hide them */
  [richtext-card-text] :is(h1, img, embed) {
    display: none;
  }
 
 [gradient="true"] {
  display: inline-block;
  background-image: linear-gradient(
    90deg,
    var(--_colortheme---heading-gradient1) 0%,   /* violet */
    var(--_colortheme---heading-gradient1) 45%,  /* on garde le violet longtemps */
    var(--_colortheme---heading-gradient2) 100%  /* puis on glisse vers le blanc */
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* global-styles_radius */
[custom-radius="tiny"] {
    border-radius: var(--radius--radius-tiny);
  }
   [custom-radius="small"] {
    border-radius: var(--radius--radius-small);
  }
  [custom-radius="medium"] {
    border-radius: var(--radius--radius-medium);
  }
  [custom-radius="big"] {
    border-radius: var(--radius--radius-big);
  }

/* global-styles_forms */
.w-input,
  .w-select {
    text-decoration: none;
    font-size: unset;
  }
  /* SELECT */
  /*select option:first-of-type {
  display:none;
  }*/
  :root {
    --select-default-text-color: inherit; /* Inherits from parent */
    --select-checked-text-color: var(--_color-swatches---brand-secondary);
    --select-background: var(--_form---input-bg-color); /* Resets to default */
    --select-border-color: inherit;
  }

  /* Ensure the <select> text color follows the parent class */
  select {
    color: var(--select-default-text-color); /* Uses text color of parent class */
  }

  /* Change background and text color when an option is selected (except first one) */
  select option:checked:not(:first-of-type) {
    display: none;
  }
  
/* Quand le faux bouton radio est "checked",
   on met le label texte en blanc */
label:has(input:checked) {
  color: white !important;

}

/* global-styles_custom */
.button-filter_main.is-active .button-filter_active {opacity:1;}
  .button-filter_main.is-active .button-filter_icon {opacity:1;display:flex;}
  .button-filter_text {font-weight:inherit;}
  .is-inline * {
    display:inline;
  }

  .news-filter_cms-list > .w-dyn-item {
    display: contents;
  }
  
  [content-alignement="left"] {
    display: flex;
    align-items: flex-start;
  }
  [content-alignement="center"] {
    display: flex;
    align-items: center;
  }
  [content-alignement="right"] {
    display: flex;
    align-items: flex-end;
  }
  
 
  [data-accordion="content"] {
    padding: 0 !important; /* ensure outer has no space */
    overflow: hidden;
  }
  
/* BEVEL CORNER*/
:root {
  --bevel-size: 2rem; /* valeur globale */
}

/* top right */
[bevel="top-right"], 
.accordion-collection-list .accordion-collection-item:first-child .accordion_elt,
.accordion-collection-list .accordion-collection-item:first-child .accordion-elt-bg {
  clip-path: polygon(
    0 0,                                      /* top-left */
    calc(100% - var(--bevel-size)) 0,        /* top edge avant le coin */
    100% var(--bevel-size),                  /* right edge après le coin */
    100% 100%,                               /* bottom-right */
    0 100%                                   /* bottom-left */
  );
}

/*bottom right */
[bevel="bottom-right"], 
.accordion-collection-list .accordion-collection-item:last-child .accordion_elt,
.accordion-collection-list .accordion-collection-item:last-child .accordion-elt-bg {
  clip-path: polygon(
    0 0,                                      /* top-left */
    100% 0,                                   /* top-right */
    100% calc(100% - var(--bevel-size)),      /* right edge avant le coin */
    calc(100% - var(--bevel-size)) 100%,      /* bottom edge après le coin */
    0 100%                                    /* bottom-left */
  );
}

/* 1) BG sur le header et le contenu quand l’accordion est actif */
.accordion_elt.is-active .accordion-elt-bg-active {
  opacity: 1;
}

/* 2) Titre en blanc quand l’accordion est actif */
.accordion_elt.is-active .accordion_top .text-size-regular {
  color: #fff !important;
}

/* État par défaut de l’arrow */
[data-accordion="arrow"] {
  transform: rotate(-45deg);
  transition:
    transform 0.6s cubic-bezier(0.625, 0.05, 0, 1),
    color 0.3s ease;
}

/* Quand l’arrow a la combo class is-active */
.accordion_elt.is-active [data-accordion="arrow"] {
  transform: rotate(180deg);
}

/* CARD STROKE GRADIENT*/
 [stroke-gradient] {
  border: 10px solid;
  border-image-slice: 1;
  border-width: 1px;
  border-image-source: linear-gradient(to bottom, var(--_colorswatch---blue-light-blue), var(--_colorswatch---blue-dark-1));
}



/* NOISE BG */
[bg-noise] {
  --space: 12px;          /* espacement entre les points */
  --dot-size: 3px;        /* taille du point */
  --dot-rgb: 255,255,255; /* couleur des points */

  --alpha-base: 0.15;     /* opacité des points "normaux" */
  --alpha-accent: 0.25;   /* opacité des points accentués */

  --r: calc(var(--dot-size) / 2);

  /* 1) grille accentuée (tous les 5 en X et Y)
     2) grille de base (tous les 1 en X et Y)
  */
  background-image:
    radial-gradient(circle at top left,
      rgba(var(--dot-rgb), var(--alpha-accent)) 0,
      rgba(var(--dot-rgb), var(--alpha-accent)) var(--r),
      transparent calc(var(--r) + 0.01px)
    ),
    radial-gradient(circle at top left,
      rgba(var(--dot-rgb), var(--alpha-base)) 0,
      rgba(var(--dot-rgb), var(--alpha-base)) var(--r),
      transparent calc(var(--r) + 0.01px)
    );

  background-size:
    calc(var(--space) * 5) calc(var(--space) * 5),  /* points accentués   */
    var(--space) var(--space);                      /* points "normaux"   */

  background-position:
    0 0,
    0 0;
}

/* Ligne inactive par défaut */
.radio_active-line-wrapper {
  width: 0;
  height: 0.125rem;
  overflow: hidden;
  transition: width 0.25s ease;
}

/* Quand le radio du label est "checked" → ligne visible */
.radio_field:has(input[name="radio-filters"]:checked) 
  .radio_active-line-wrapper {
  width: 2rem;
}

/* global-styles_splide */
.splide__pagination {
    display: none;
  }
  .splide__arrow {
    padding: 0.5rem;
    opacity: unset;
    position: static;
    background: none;
    transform: unset;
  }
  .splide__arrow svg {
    width: 100%;
    height: 100%;
  }
  .splide__arrow--prev svg{
    transform: rotate(0deg);
  }
  .splide__arrow:hover {
  }

/* global-styles_animations */
[custom-hover="img-zoom"] img {transition: transform 0.5s ease-out;}
  [custom-hover="img-zoom"]:hover img {transform: scale(1.05);}
  [hover-effect="children-opacity"]:hover * {
    opacity: 0.5;  
  }
  a[no-link-hover]:hover {
    color:initial;
  }
  [has-verso="false"] .is-verso { display: none;}
  /* Style for the child elements */
  [has-verso="true"] .is-recto,
  [has-verso="true"] .is-verso {
    backface-visibility: hidden; /* Hide the backface during rotation */
    transform-style: preserve-3d; /* Necessary for 3D transforms */
    transition: transform 0.4s ease, opacity 0.4s ease; /* Smooth transition */
  }
  /* Default state for .is-recto */
  [has-verso="true"] .is-recto {
    transform: rotateY(0deg); /* Default position */
    opacity: 1; /* Fully visible */
    z-index: 2; /* Ensure it is above .is-verso */
  }
  /* Default state for .is-verso */
  [has-verso="true"] .is-verso {
    transform: rotateY(-180deg); /* Hidden behind by default */
    opacity: 0; /* Fully hidden */
    z-index: 1; /* Below .is-recto */
  }
  /* Hover effect for the parent container */
  [has-verso="true"]:hover .is-recto {
    transform: rotateY(180deg); /* Flip recto out of view */
    opacity: 0; /* Hide recto */
  }
  [has-verso="true"]:hover .is-verso {
    transform: rotateY(0deg); /* Flip verso into view */
    opacity: 1; /* Show verso */
  }

 

  /******************* SCROLLBAR *************/
  /* Firefox */
  html {
    scrollbar-color: var(--background-color--primary) var(--background-color--alternate);
    scrollbar-width: thin;
  }
  /* WebKit and Chromiums */
  ::-webkit-scrollbar {
    width: 5px;
    height: 5px;
    background-color: var(--background-color--alternate);
  }
  /*track*/
  ::-webkit-scrollbar-track {
    background: var(--background-color--alternate);
  }
  /*thumb*/
  ::-webkit-scrollbar-thumb {
    background:var(--background-color--primary);
    border-radius:12px;
  }
  /*****************************************/
  /************* Scrollbar Form *******************/
  /*****************************************/
  /*width*/
  textarea::-webkit-scrollbar {
    width:0px;
  }
  /*track*/
  textarea::-webkit-scrollbar-track {
    background:rgba(255, 255, 255, 0);
  }
  /*thumb*/
  textarea::-webkit-scrollbar-thumb {
    background:rgba(51, 51, 51, 0);
  }


  @media screen and (min-width: 992px) {
    /*****************************************/
    /************* Réalisations Card Hover *******************/
    /*****************************************/
    .card-project:hover .card-project_tags-cms {
      max-height: 500px; /* Ajuster selon le contenu (ou utiliser auto) */
      opacity: 1;
    }

    [elt-hover="opacity"]{opacity:0; transition: opacity 0.5s ease-out;}
    [elt-hover="element"]:hover [elt-hover="opacity"]{opacity:1;}
  }*/

/* global-avoid-gsap-glitch */
html:not(.gsap-not-found) [data-prevent-flicker='true'] { visibility: hidden; }
.line-mask, .word-mask, .char-mask { padding-block: 0.1em; margin-block: -0.1em; }

/* global-avoid-gsap-glitch: noscript */

/* global-styles_image */
[image-ratio="none"] {
    height: auto;
    object-fit: cover;
    aspect-ratio: auto; /* Ensures a 4:3 aspect ratio */
  }
  [image-ratio="landscape"] {
    height: auto;
    object-fit: cover;
    aspect-ratio: 4 / 3; /* Ensures a 4:3 aspect ratio */
  }
  [image-ratio="square"] {
    height: auto;
    object-fit: cover;
    aspect-ratio: 1 / 1; /* Ensures a 4:3 aspect ratio */
  }
  [image-ratio="portrait"] {
    height: auto;
    object-fit: cover;
    aspect-ratio: 3 / 4; /* Ensures a 4:3 aspect ratio */
  }

  @supports not (aspect-ratio: auto) {
    /* Fallback for browsers that do not support aspect-ratio */
    [image-ratio="landscape"],[image-ratio="portrait"],[image-ratio="square"] {
      width: 100%;
      object-fit: cover;
      height: auto;
    }
    [image-ratio="landscape"]::before {
      content: "";
      display: block;
      object-fit: cover;
      padding-top: 75%; /* 4:3 aspect ratio as a percentage (3/4 = 75%) */
    }
    [image-ratio="portrait"]::before {
      content: "";
      display: block;
      object-fit: cover;
      padding-top: 133.33%; /* 3:4 aspect ratio as a percentage (4/3 = 133.33%) */
    }
    [image-ratio="square"]::before {
      content: "";
      display: block;
      object-fit: cover;
      padding-top: 100%; /* 1:1 aspect ratio as a percentage */
    }
  }
  [image-type="logo"] {
    max-width:10rem;
    height:5rem;
  	object-fit: contain !important;
  }

  [image-type="icon"] {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: contain !important;
  }
  [image-fit="cover"] {
  	object-fit: cover !important;
  }
   [image-fit="contain"] {
  	object-fit: contain !important;
  }

/* global-marquee-css */
/*** Marquee HORIZONTAL ***/
  /*****************************************/
  /************* Marquee *******************/
  /*****************************************/
  :root {
    --marquee-duration: 80s;
    --marquee-animation-horiz: infinite-marquee-horiz;
  }
  /*** Marquee HORIZONTAL ***/
  [marquee-element="horizontal"]  > [marquee-list] {
    -webkit-animation: var(--marquee-animation-horiz) var(--marquee-duration) linear infinite;
    -moz-animation: var(--marquee-animation-horiz) var(--marquee-duration) linear infinite;
    -o-animation: var(--marquee-animation-horiz) var(--marquee-duration) linear infinite;
    animation: var(--marquee-animation-horiz) var(--marquee-duration) linear infinite;
  }

  @keyframes infinite-marquee-horiz {
    from { transform: translateX(0%); }
    to { transform: translateX(-100%); }
  }

 [marquee-element="horizontal"]:hover > [marquee-list] {
	  animation-play-state: paused;
  }

/* global-styles_cards */


/* global-styles_hover */
.nav-link.is-menu:hover .nav-hover-img {
    opacity:1;
  }
  
  .dropdown-nav_toggle:hover .nav-hover-img {
    opacity:1;
  }

/* global-styles_grid */
/*****************************************/
  /***************** GRID ******************/
  /*****************************************/

  @media screen and (min-width: 992px) {
    [column-gap="none"] {
      grid-column-gap: 0;
      grid-row-gap: 0;
    }
    [column-gap="small"] {
      grid-column-gap: 1.5rem;
      grid-row-gap: 1.5rem;
    }
    [column-gap="medium"] {
      grid-column-gap: 2rem;
      grid-row-gap: 2rem;
    }
    [column-gap="large"] {
      grid-column-gap: 4rem;
      grid-row-gap: 4rem;
    }

  }

  @media screen and (max-width: 992px) {
    [column-gap="none"] {
      grid-column-gap: 0;
      grid-row-gap: 0;
    }
    [column-gap="small"] {
      grid-column-gap: 1rem;
      grid-row-gap: 1rem;
    }
    [column-gap="medium"] {
      grid-column-gap: 1.5rem;
      grid-row-gap: 1.5rem;
    }
    [column-gap="large"] {
      grid-column-gap: 4rem;
      grid-row-gap: 4rem;
    }

  }


  [data-column-layout-desktop="auto"] {
    grid-auto-columns: 1fr !important;
    grid-template-rows: auto;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  }
  [data-column-layout-desktop="column-only"] {
    grid-auto-flow: column;
    grid-template-columns: 1fr !important;
  }
  [data-column-layout-desktop="2"] {
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr !important;
  }
  [data-column-layout-desktop="3"] {  
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr 1fr !important;
  }
  [data-column-layout-desktop="4"] {  
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
  }
  [data-column-layout-desktop="5"] { 
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr !important;
  }
  [data-column-layout-desktop="6"] { 
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr !important;
  }
  /* landscape */
  @media screen and (max-width: 992px) {
    [data-column-layout-desktop] {
      grid-auto-flow: row;
    }
    [data-column-layout-tablet="2"] {
      grid-template-columns: 1fr 1fr !important;
    }
    [data-column-layout-tablet="1"] {
      grid-template-columns: 1fr !important;
    }
    [data-column-layout-tablet="3"] {
      grid-template-columns: 1fr 1fr 1fr !important;
    }
    [data-column-layout-tablet="4"] {
      grid-template-columns: 1fr 1fr 1fr 1fr !important;
    }
  }
  /* landscape */
  @media screen and (max-width: 600px) {
    [data-column-layout-desktop] {
      grid-template-columns: 1fr !important;
    }
    [data-column-layout-mobile="2"] {
      grid-template-columns: 1fr 1fr !important;
    }
    [data-column-layout-mobile="3"] {
      grid-template-columns: 1fr 1fr 1fr !important;
    }
  }
  [data-child-align="top"] {
    align-items: start;
  }

/* body footer code */
/* BANNIÈRE COOKIE – OVERRIDES */
  #cookiescript_injected {
    background-color: var(--_colorswatch---blue-dark-1) !important;
    color: var(--_colorswatch---white) !important;
    font-family: var(--font--text) !important;
  }

  #cookiescript_injected,
  #cookiescript_injected * {
    font-family: var(--font--text) !important;
    color: var(--_colorswatch---white) !important;
  }

  #cookiescript_injected a,
  #cookiescript_injected a:hover {
    color: var(--_colorswatch---white) !important;
  }
 
  /* Bloc d’infos en bas : texte noir */
#cookiescript_bottompart,
#cookiescript_bottompart *,
#cookiescript_maintabs,
#cookiescript_maintabs * {
  color: #000000 !important;
}

/* Liens dans le bloc d’infos : noirs aussi (ou une autre couleur si tu veux) */
#cookiescript_bottompart a {
  color: #000000 !important;
  text-decoration: underline; /* optionnel */
}

/* BANNIÈRE COOKIE – BOUTONS PERSONNALISÉS */

/* Base commune : radius + pas de border + transition douce */
#cookiescript_accept,
#cookiescript_reject,
#cookiescript_save {
  border-radius: var(--radius--radius) !important;
  border: none !important;
  transform-origin: center center;
  transition:
    transform 300ms ease-out;
}

/* Bouton 1 = ACCEPTER : fond blanc, texte noir */
#cookiescript_accept {
  background-color: #FFFFFF !important;
  color: #000000 !important;
}

/* Bouton 2 = REFUSER + SAUVEGARDER : design system */
#cookiescript_reject,
#cookiescript_save {
  background-color: var(--_buttonstyles---button-bg) !important;
  color: var(--_buttonstyles---button-text) !important;
}

/* Hover : léger scale pour tous les boutons */
#cookiescript_accept:hover,
#cookiescript_reject:hover,
#cookiescript_save:hover {
  transform: scale(1.02) !important;
}

  /* BADGE COOKIE – STYLE CUSTOM */

/* Wrapper du badge */
#cookiescript_badge {
  background-color: var(--_colorswatch---blue-dark-1) !important;
  color: var(--_colorswatch---white) !important;
  font-family: var(--font--text) !important;
}

/* Icône SVG du badge (les paths avec .cookiescriptlogo) */
#cookiescript_badge .cookiescriptlogo {
  fill: var(--_colorswatch---brand-3) !important;
}

/* Texte "Cookie settings" du badge */
#cookiescript_badgetext {
  font-family: var(--font--text) !important;
  font-size: 14px !important;
  color: var(--_colorswatch---white) !important;
}

/* Vault cards: link to the vault next to the title */
.card-vault_title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.card-vault_link {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--_colorswatch---purple-light);
  color: var(--_colorswatch---white);
  font-family: var(--font--text);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}

.card-vault_link:hover {
  background-color: var(--_colorswatch---white);
  color: var(--_colorswatch---blue-dark-1);
}
