  /* ==========================================================================
     CORRECTIONS SPÉCIFIQUES & OVERRIDES BUBBLE
     ========================================================================== */

  /* Sélecteur pays */
  #colect-pays .dropdown-choice {
    color: rgba(9, 23, 71, 1) !important;
    font-size: 13px !important;
  }

  select#colect-pays {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-color: rgba(9, 23, 71, 0) !important;
  }

  /* Suppression du chevron personnalisé pour certains sélecteurs */
  .dropdown-chevron#pageselect,
  .dropdown-chevron#pageselect2 {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: none !important;
    background-repeat: no-repeat, repeat;
    background-position: right 0px top 0%, 0 0 !important;
    background-size: 0em auto, 100% !important;
  }

  select#pageselect,
  select#pageselect2 {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-color: rgba(9, 23, 71, 0) !important;
  }

  /* ==========================================================================
     CLASSES DE POSITIONNEMENT STICKY
     ========================================================================== */

  .fixe-en-bas,
  .fixe-bas,
  .fixe-price-bas {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 999 !important;
  }

  .fixe-price-bas {
    box-shadow: 0 -1px 4px rgba(0, 0, 0, .08) !important;
  }

  .fixe-haut {
    position: sticky !important;
    top: 63px !important;
    right: 0 !important;
    z-index: 999 !important;
  }

  .fixe-lui {
    position: sticky !important;
    top: 140px !important;
    height: calc(100vh - 240px) !important;
    right: 0 !important;
    z-index: 999 !important;
  }

  .fixe-us-good {
    position: sticky !important;
    max-height: 100vh !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
  }

  .fixe-search {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 999 !important;
    height: 100vh !important;
  }

  .fixe-top {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 999 !important;
  }

  .fixe-xvh {
    position: sticky !important;
    top: 63px !important;
    left: 0 !important;
    z-index: 9999 !important;
  }

  .fixe-price-haut {
    position: sticky !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
  }

  /* ==========================================================================
     UTILITAIRES DE TEXTE & AFFICHAGE
     ========================================================================== */

  /* Ellipse pour adresses email longues */
  .email-ellipsis {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    font-family: "DM Sans";
    font-size: 15px;
    color: #585858;
    line-height: 1.2;
  }

  .email-ellipsis span {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Hauteurs spécifiques */
  .fulxpage {
    height: 100vh !important;
  }

  .actaille {
    min-height: 100vh !important;
  }

  #pagefocus {
    min-height: calc(100dvh - env(safe-area-inset-bottom)) !important;
  }

  .strech {
    height: calc(100dvh - 191px - env(safe-area-inset-bottom)) !important;
  }

  /* Alerte positionnée en bas à droite */
  .alertoo {
    position: absolute !important;
    bottom: 5px !important;
    right: 5px !important;
    width: calc(100% - 10px) !important;
  }

  /* Sélection de texte */
  ::selection {
    background-color: #ffb200 !important;
    color: #000000 !important;
  }

  body {
    font-variant-numeric: lining-nums;
  }

  /* ==========================================================================
     SCROLLBARS PERSONNALISÉES
     ========================================================================== */

  /* Cache la scrollbar des Repeating Groups Bubble */
  .noscrollbar > div,
  .noscrollbar > div > div {
    scrollbar-width: none;      /* Firefox */
    -ms-overflow-style: none;   /* IE/Edge */
  }

  .noscrollbar > div::-webkit-scrollbar,
  .noscrollbar > div > div::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none;
  }

  .noscrollbar > div::-webkit-scrollbar-thumb,
  .noscrollbar > div::-webkit-scrollbar-track {
    background: transparent;
    border: none;
  }

  /* Scrollbar pour .tableinfos */
  .tableinfos::-webkit-scrollbar {
    width: 14px !important;
  }

  .tableinfos::-webkit-scrollbar-thumb {
    background-color: #A9ADB2 !important;
    border-radius: 20px !important;
    border: 3.5px solid transparent !important;
    background-clip: padding-box !important;
  }

  .tableinfos::-webkit-scrollbar-track {
    background: linear-gradient(to bottom, #FFFFFF 80%, #F0F1F5 100%) !important;
    border-radius: 0 !important;
    padding-top: 20px !important;
  }

  /* ==========================================================================
     ÉDITEUR RICHE QUILL (v1.3.7)
     ========================================================================== */

  .ql-container {
    box-sizing: border-box;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 13px;
    height: 100%;
    margin: 0;
    position: relative;
    letter-spacing: 0.25px !important;
  }

  .ql-editor,
  .ql-editor p,
  .ql-editor ol,
  .ql-editor ul,
  .ql-editor pre,
  .ql-editor blockquote,
  .ql-editor h1,
  .ql-editor h2,
  .ql-editor h3,
  .ql-editor h4,
  .ql-editor h5,
  .ql-editor h6 {
    font-family: var(--cf-app-font) !important;
    color: var(--cc-gray_44) !important;
    letter-spacing: 0.25px !important;
  }

  .ql-editor {
    font-size: 14px !important;
  }

  .ql-editor.ql-blank::before {
    color: var(--cc-forrelevant) !important;
    font-style: normal !important;
    letter-spacing: 0.25px !important;
  }

  .ql-toolbar.ql-snow {
    border-bottom: 1px solid #DCDCDC !important;
  }

  /* Masquage de certains boutons de la toolbar */
  span.ql-formats:nth-child(1),
  span.ql-formats:nth-child(3),
  span.ql-formats:nth-child(4),
  span.ql-formats:nth-child(5),
  span.ql-formats:nth-child(7),
  .ql-snow.ql-toolbar .ql-image,
  .ql-snow.ql-toolbar .ql-video,
  .ql-snow.ql-toolbar .ql-strike {
    display: none !important;
  }

  /* ==========================================================================
     EFFETS VISUELS & FILTRES
     ========================================================================== */

  /* Filtres de grisaille */
  .grayvtk {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
  }

  .graymedium {
    -webkit-filter: grayscale(70%);
    filter: grayscale(70%);
  }

  .grayravi {
    -webkit-filter: grayscale(40%);
    filter: grayscale(40%);
  }

  .grayimage {
    -webkit-filter: grayscale(10%);
    filter: grayscale(10%);
  }

  /* Effet verre dépoli (glassmorphism) */
  .glass-window-light {
    background: rgba(57, 67, 92, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .blux::before {
    backdrop-filter: blur(15px) !important;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .15) !important;
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
  }

  /* Transformations d'échelle */
  .groupehigh {
    transform: scale(1.1);
    transform-origin: center;
  }

  .groupebasse {
    transform: scale(0.9);
    transform-origin: center;
  }

  /* Inversion de couleurs et miroir */
  .contrastos {
    filter: invert(1) hue-rotate(180deg);
  }

  .monus {
    transform: scaleX(-1);
  }

  /* ==========================================================================
     DÉGRADÉS & ARRIÈRE-PLANS SPÉCIAUX
     ========================================================================== */

  #tchatcho {
    background: linear-gradient(
      180deg,
      rgb(255, 247, 240) 0%,
      rgb(255, 250, 245) 40%,
      #ffffff 100%
    ) !important;
  }

  .tropasse {
    background: linear-gradient(
      360deg,
      rgba(45, 30, 26, 1) 0%,
      rgba(45, 30, 26, 1) 25%,
      rgba(45, 30, 26, 0.95) 45%,
      rgba(45, 30, 26, 0.8) 62%,
      rgba(65, 28, 18, 0.55) 80%,
      rgba(55, 24, 22, 0.15) 100%
    ) !important;
  }

  .tropasse::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(45, 30, 26, 1),
      rgba(55, 26, 20, 0.15),
      rgba(55, 26, 20, 0.08),
      rgba(55, 26, 20, 0),
      rgba(38, 22, 18, 0),
      rgba(38, 22, 18, 0),
      rgba(38, 22, 18, 0)
    );
    pointer-events: none;
  }

  .tropassdeux {
    background: linear-gradient(
      360deg,
      rgba(45, 30, 26, 1) 0%,
      rgba(45, 30, 26, 1) 8%,
      rgba(45, 30, 26, 0.95) 15%,
      rgba(45, 30, 26, 0.8) 42%,
      rgba(65, 28, 18, 0.55) 80%,
      rgba(55, 24, 22, 0) 100%
    ) !important;
  }

  .tropassdeux::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(45, 30, 26, 1),
      rgba(55, 26, 20, 0.15),
      rgba(55, 26, 20, 0.08),
      rgba(55, 26, 20, 0),
      rgba(38, 22, 18, 0),
      rgba(38, 22, 18, 0),
      rgba(38, 22, 18, 0)
    );
    pointer-events: none;
  }
