/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/******* CMP CookieYes *******/

.cky-btn-revisit-wrapper {
	background-color: #5170FF!important;
}

.cky-btn.cky-btn-customize {
  color: #1800AD !important;
  background-color: transparent !important;
  border-color: #1800AD !important;
  border-radius: 6px!important;
}

.cky-btn.cky-btn-reject, .cky-btn.cky-btn-accept {
  background-color: #1800AD !important;
  border-color: #1800AD !important;
  border-radius: 6px!important;
}

.cky-btn.cky-btn-preferences {
  border-radius: 6px!important;
  background-color: transparent !important;
  color: #1800AD !important;
  border-color: #1800AD !important;
}

/******* NAV TABS *******/

/* --- 1. COULEURS PAR DÉFAUT (INACTIF) --- */
.morphing-item-pro {
    color: var(--bleu-fonce) !important;
    transition: color 0.3s ease;
}

.morphing-item-part {
    color: var(--jaune) !important;
    transition: color 0.3s ease;
}

/* --- 2. COULEUR QUAND ACTIF (TEXTE BLANC) --- */
/* On cible la classe active de Next Bricks */
.bc-morphing-menu__item--active {
    color: #FFFFFF !important;
}

/* --- 3. COULEUR DU FOND MOBILE (LE MORPHING DIV) --- */
/* Si l'item PRO est actif, le fond devient bleu */
.morphing-nav:has(.morphing-item-pro.bc-morphing-menu__item--active) .bc-morphing-menu__morphing-div {
    background-color: var(--bleu-fonce) !important;
}

/* Si l'item PART est actif, le fond devient jaune */
.morphing-nav:has(.morphing-item-part.bc-morphing-menu__item--active) .bc-morphing-menu__morphing-div {
    background-color: var(--jaune) !important;
}

/* Désactive les effets de survol qui pourraient déplacer le fond par erreur */
.morphing-nav {
    pointer-events: auto !important;
}

.morphing-item-pro, .morphing-item-part {
    /* On s'assure que seul le clic déclenche l'action */
    cursor: pointer;
}

/* Optionnel : Si le fond "morph-bg" dépasse ou crée des bugs visuels au scroll */
.bc-morphing-menu__morphing-div {
    pointer-events: none !important; /* L'indicateur de fond ne doit pas capter la souris */
    will-change: transform, width; /* Aide le navigateur à stabiliser l'animation */
}

/******* END NAV TABS *******/

/******* Header sticky smooth *******/

.header-sticky-dynamic {
  transition: transform 0.4s ease-in-out !important;
}

.header-sticky-dynamic.is-hidden {
  transform: translateY(-100%);
}

/******* End header sticky smooth *******/

.icon-menu.jaune {
  max-width: 22px !important;
  max-height: 22px!important;
  display: flex;
  color:transparent!important;
  fill: transparent !important;
}

.icon-menu {
  max-width: 22px !important;
  max-height: 22px!important;
  display: flex;
  color:transparent!important;
  fill: transparent !important;
}

.brxe-mvcjke .bc-stripe__dropdown-list, .dropdown-menu .bc-stripe__dropdown-list {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1)!important;
}

.container-carousel-logos {
  -webkit-mask-image: linear-gradient(to right, 
    transparent 2%, 
    black 13%, 
    black 85%, 
    transparent 100%
  );
  mask-image: linear-gradient(to right, 
    transparent 2%, 
    black 13%, 
    black 85%, 
    transparent 100%
  );
  overflow: hidden;
}

@media (max-width:767px) and (min-width:400px) {
    .icon-espace-assure {
        max-width:20px;
    }
}

@media (max-width:610px) {
    .brxe-ewfvyj, .brxe-pqewpi {
        display: none!important;
    }
}

/****** CUSTOM CSS FORM ******/

.btn-next-form {
  transition: all .3s ease-in-out;
  background-color: var(--bleu-clair);
  color: white;
  border-radius: 10px;
  border: 2px solid var(--bleu-clair);
}

.btn-next-form:hover {
  background-color: transparent !important;
  color: var(--bleu-clair) !important;
  border-color: var(--bleu-clair) !important;
}

.btn-prev-form {
  transition: all .3s ease-in-out;
  background-color: #C9D3FF;
  color: #5170FF;
  border-radius: 10px;
  border: 2px solid #C9D3FF;
}

.btn-prev-form:hover {
  background-color: transparent;
  color: var(--bleu-clair);
  border-color: var(--bleu-clair);
}

.card-radio.bleu input:checked + label svg, .card-radio.bleu input:checked + label .desc-label, .card-radio.jaune input:checked + label .desc-label {
  color: white;
}

.card-radio.bleu input:checked + label img {
filter:invert(1) grayscale(100);
-webkit-filter: invert(1) grayscale(100);
}

.card-radio.jaune input:checked + label img {
filter: grayscale(100) contrast(100);
  -webkit-filter: grayscale(100) contrast(100);
}

.question-with-label label {
  font-size: 18px !important;
}

.question-with-label-small label {
  font-size: 16px !important;
}

.question-with-label {
  gap:10px!important;
}

.input-texte label, .label-left label {
  font-size:16px !important;
  display: flex;
  align-items: center;
}

.slider-range label {
  font-size: 16px!important;
}

.input-texte {
  gap:10px !important;
}

.input-texte .flatpickr {
  border: 2px solid #dddedf;
  border-radius: 10px;
}

.label-question {
  text-align: center;
}

@media (max-width:991px) {
  .label-question {
  font-size:22px!important;
}

.div-form ul {
  justify-content: center;
}

.container-card-button {
  flex-wrap: nowrap;
}

.container-card-button img {
  max-width: 18px!important;
}

.question-with-label label {
  text-align: center;
  line-height: 1.2em;
}

.input-texte {
  gap: 0px !important;
}

.input-texte label {
  text-align: center;
  line-height: 1.2em;
}

.desc-label {
  font-size:15px!important;
}
}

.single-item-solutions .brxe-heading {
  text-transform: uppercase!important;
  font-size: 17px!important;
}

.item-professionnel a {
  padding: 2px 6px;
  border-radius: 5px;
  transition: all .3s ease-in-out;
}

.item-professionnel a:hover {
  background-color: #F4F7FC;
}

.item-particulier a {
  padding: 4px 6px 2px 6px;
  border-radius: 5px;
  transition: all .3s ease-in-out;
}

.item-particulier a:hover {
  background-color: #FFF8EE;
}

/* Overlay de transition */
#reload-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

#reload-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

/* Spinner élégant */
.reload-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--bleu-fonce); /* Ta variable couleur */
    border-radius: 50%;
    animation: spin-reload 1s linear infinite;
}

@keyframes spin-reload {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/***** TOOLTIP FORM *****/

/* Style de base du déclencheur (le i) */
[data-info] {
    --tooltip-bg: #333;
    --tooltip-text: #fff;
    --tooltip-width: 220px;
    display: inline-flex;
    position: relative;
    cursor: help;
    margin-left: 6px;
    width: 18px;
    height: 18px;
    background-color: white;
    color: var(--bleu-fonce);
    border: 2px solid var(--bleu-fonce);
    border-radius: 50%;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

/* La bulle de texte */
[data-info]::before {
    content: attr(data-info); /* On récupère le texte */
    position: absolute;
    bottom: 150%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    width: var(--tooltip-width);
    padding: 10px;
    background: var(--tooltip-bg);
    color: var(--tooltip-text);
    border-radius: 6px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.4;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 1000;
    pointer-events: none;
}

/* La petite flèche */
[data-info]::after {
    content: "";
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    border: 6px solid transparent;
    border-top-color: var(--tooltip-bg);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 1000;
}

/* Affichage au survol */
[data-info]:hover::before,
[data-info]:hover::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.immatriculation input {
    background-image: url('/wp-content/uploads/2026/01/immat-fr.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px auto;
    padding-left: 30px!important;
    box-sizing: border-box;
}

.flatpickr {
  background-image: url("data:image/svg+xml,%3Csvg width='800px' height='800px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7 1C6.44772 1 6 1.44772 6 2V3H5C3.34315 3 2 4.34315 2 6V20C2 21.6569 3.34315 23 5 23H19C20.6569 23 22 21.6569 22 20V6C22 4.34315 20.6569 3 19 3H18V2C18 1.44772 17.5523 1 17 1C16.4477 1 16 1.44772 16 2V3H8V2C8 1.44772 7.55229 1 7 1ZM16 6V5H8V6C8 6.55228 7.55229 7 7 7C6.44772 7 6 6.55228 6 6V5H5C4.44772 5 4 5.44772 4 6V9H20V6C20 5.44772 19.5523 5 19 5H18V6C18 6.55228 17.5523 7 17 7C16.4477 7 16 6.55228 16 6ZM4 15V11H8V15H4ZM4 17V20C4 20.5523 4.44772 21 5 21H8V17H4ZM10 17V21H14V17H10ZM16 17V21H19C19.5523 21 20 20.5523 20 20V17H16ZM20 15H16V11H20V15ZM14 15H10V11H14V15Z' fill='%230F0F0F80'/%3E%3C/svg%3E");
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: right 14px center;
}

.noUi-horizontal .noUi-handle {
  height: 34px!important;
  right: -17px;
  top: -10px!important;
  width: 34px;
  border-radius: 100px!important;
}

.noUi-horizontal .noUi-handle::before, .noUi-horizontal .noUi-handle::after {
  display: none;
}

.noUi-value-sub {
  color: #9d9d9d;
  font-size: 15px;
}

.mini-desc {
  padding-left:10px;
  font-size:14px;
  font-weight: 400!important;
}