body ::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

/* Chrome, Safari, Opera */
body {
  -ms-overflow-style: none;
}

/* IE & Edge */
html {
  scrollbar-width: none;
}

html,
body {
  -webkit-font-smoothing: antialiased;
}

/* Firefox */

/* État initial (haut de page) */
.nav_mobile_logo_full {
  opacity: 1;
  transition-delay: 0.35s;
  /* 👈 delay au retour */
}

.nav_mobile_logo_compact {
  opacity: 0;
  transition-delay: 0s;
}

/* État scrollé */
.nav_mobile_contain.is--scrolled .nav_mobile_logo_full {
  opacity: 0;
  transition-delay: 0s;
}

.nav_mobile_contain.is--scrolled .nav_mobile_logo_compact {
  opacity: 1;
  transition-delay: 0.35s;
  /* 👈 delay à l’aller (signature Motto) */
}

.nav_mobile_logo_full {
  z-index: 2;
}

.nav_mobile_logo_compact {
  z-index: 1;
}

/* ================================
   FULLSCREEN MENU — LIGHTHOUSE SAFE
================================ */

.custom_fullscreen_menu {
  position: fixed;
  inset: 0;
  z-index: 9999;

  /* ÉTAT FERMÉ */
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);

  visibility: hidden;
  pointer-events: none;

  contain: layout paint style;
  /* content-visibility: auto;  ❌ retiré — source de jump mobile */

  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  box-sizing: border-box;
  will-change: clip-path;

  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.custom_fullscreen_menu.is-open {
  visibility: visible !important;
  pointer-events: auto;
  overflow-y: auto !important;
}

.nav_button_line {
  pointer-events: none;
}

/* ================================
   BLUR TARGET — MENU BOTTOM ONLY
================================ */

.menu_bottom_layout {
  filter: blur(6px);
  /* ✅ aligné avec état initial GSAP */
  will-change: filter;
}

/*BG Video Bunny*/
/* Animation */
[data-bunny-background-init] :is(.bunny-bg__placeholder, .bunny-bg__loading) {
  transition: opacity 0.3s linear, visibility 0.3s linear;
}

/* Placeholder */
[data-bunny-background-init][data-player-status="playing"] .bunny-bg__placeholder,
[data-bunny-background-init][data-player-status="paused"] .bunny-bg__placeholder,
[data-bunny-background-init][data-player-activated="true"][data-player-status="ready"] .bunny-bg__placeholder {
  opacity: 0;
  visibility: hidden;
}

/* Play/Pause */
[data-bunny-background-init][data-player-status="playing"] .bunny-bg__play-svg,
[data-bunny-background-init][data-player-status="loading"] .bunny-bg__play-svg {
  display: none;
}

[data-bunny-background-init][data-player-status="playing"] .bunny-bg__pause-svg,
[data-bunny-background-init][data-player-status="loading"] .bunny-bg__pause-svg {
  display: block;
}

/* Loading */
[data-bunny-background-init][data-player-status="loading"] .bunny-bg__loading {
  opacity: 1;
  visibility: visible;
}

/*Heading Accompagnement Césure*/
.horizontal_heading {
  hyphens: manual;
  overflow-wrap: normal;
}

@media (max-width: 768px) {
  .horizontal_wrap {
    text-align: start !important;
  }
}

/*Heading CTA Mobile Left*/
@media (max-width: 768px) {
  .cta_heading {
    text-align: start !important;
  }
}

/*Button Services Left Mobile*/
@media (max-width: 768px) {
  .services_button {
    justify-content: start;
    align-self: start;
  }
}

/* ACCOMPAGNEMENT → fond blanc → bullets noires */
.swiper-bullet-wrapper.is-info .swiper-bullet {
  background-color: var(--swatch--dark-900-o20);

}

/* Accompagnement */
.swiper-bullet-wrapper.is-info .swiper-bullet.is-active {
  background-color: var(--swatch--dark-900);
}

.swiper-slide.is-info .scroll_first_card_layout {
  opacity: 0.25;
  transform: scale(0.9);
}

.swiper-slide.is-info.swiper-slide-active .scroll_first_card_layout {
  opacity: 1;
  transform: scale(1);
}

/* BASE LOGO KOMET */
.nav_mobile_logo_full,
.nav_mobile_logo_compact {
  transition-property: opacity;
  transition-duration: 0.35s;
  transition-timing-function: ease;
}

/* Garde le lien en position relative */
.w-richtext a:not([class]) {
  text-decoration: none !important;
  position: relative;
  display: inline-block;
  /* Définir les variables CSS pour l'état initial */
  --_trigger---off: 0;
  --_trigger---on: 1;
}

/* Ligne de base VISIBLE avec opacité réduite */
.w-richtext a:not([class])::after {
  content: "";
  position: absolute;
  inset: auto 0% 0%;
  height: var(--border-width--main);
  pointer-events: none;
  background-color: var(--_theme---text-link--border-hover);
  opacity: 0.2;
  /* Opacité réduite pour l'état initial */
}

/* Animation au hover - SANS translateY pour être exactement au même endroit */
.w-richtext a:not([class])::before {
  content: "";
  position: absolute;
  inset: auto 0% 0%;
  height: var(--border-width--main);
  pointer-events: none;
  transition-property: transform;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scaleX(calc(100% * var(--_trigger---off)));
  /* ENLEVÉ translateY(100%) */
  transform-origin: calc(100% * var(--_trigger---on)) 100%;
  background-color: var(--_theme---text-link--border-hover);
}

/* Animation au hover - inverse les triggers */
@media (hover: hover) and (pointer: fine) {
  .w-richtext a:not([class]):hover {
    --_trigger---off: 1;
    --_trigger---on: 0;
  }
}

/*Osmo Image Trail Contact*/
[data-trail-item="hidden"] {
  transform: translate(-50%, -50%) scale(0) rotate(-20deg);
  position: absolute;
}

[data-trail-item="visible"] {
  transform: translate(-50%, -50%) scale(1) rotate(0.001deg);
  transition: transform 0.4s cubic-bezier(0.625, 0.05, 0, 1);
  position: absolute;
}

[data-trail-item="transition-out"] {
  transform: translate(-50%, -50%) scale(0) rotate(180deg);
  transition: transform 0.8s cubic-bezier(0.625, 0, 0.875, 0);
  position: absolute;
}

/*Hover State T.Ricks*/
[data-trigger~="focus"]:has(:focus-visible) {
  --_state---off: 1;
  --_state---on: 0;
}

@media (hover: hover) {
  [data-trigger~="hover"]:hover {
    --_state---off: 1;
    --_state---on: 0;
  }
}

@media (hover: none) {
  [data-trigger~="default"] {
    --_state---off: 1;
    --_state---on: 0;
  }
}

.line-mask,
.word-mask,
.char-mask {
  padding-block: 0.2em;
  margin-block: -0.2em;
  vertical-align: top;
}

[data-card] {
  position: relative;
  overflow: hidden;
}

[data-cards-img-wrapper] {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

[data-cards-image] {
  position: absolute;
  inset: -15% 0;
  /* 👈 important : pas de left/right négatif */
  width: 100%;
  height: 120%;
  /* alternative plus claire que inset */
  background-size: cover;
  background-position: center;
  will-change: transform;
}

[data-rotating-words] {
  display: inline-block;
  position: relative;
}

.preview-follower__inner,
.preview-follower__label {
  transition: opacity 0.1s ease,
    transform 0.6s cubic-bezier(0.65, 0.1, 0, 1);
}

/* état par défaut */
.preview-follower__inner {
  opacity: 0;
  transform: scale(0);
}

.preview-follower__label {
  opacity: 0;
  transform: translate(0px, 100%);
}

.preview-follower [data-follower-visual] {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
}

@media screen and (min-width: 992px) {
  .preview-item:last-of-type {
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  }
}

@media (hover: hover) and (min-width: 992px) {

  /* équivalent de body:has([data-follower-collection]:hover) */
  body.follower-active .preview-follower__inner {
    opacity: 1;
    transform: scale(1);
  }

  body.follower-active .preview-follower__label {
    opacity: 1;
    transform: translate(0px, 0%);
  }

  /* équivalent de body:has(.preview-item:hover) */
  body.preview-hovering .preview-item:not(:hover) {
    opacity: 0.5;
  }
}
