/* CSS additionnel BoostYourDates */

/* =========================================
   Breakpoint hamburger (tu voulais 1388px)
   ========================================= */

/* Par défaut : menu desktop visible, hamburger caché */
.et_pb_menu .et_pb_menu__menu{ display: block; }
.et_pb_menu .et_mobile_nav_menu{ display: none; }

/* Passe en hamburger dès 1388px */
@media (max-width: 1388px){
  .et_pb_menu .et_pb_menu__menu{
    display: none !important;
  }
  .et_pb_menu .et_mobile_nav_menu{
    display: block !important;
  }
}

/* =========================================
   Couleur de surlignage
   ========================================= */
::selection{ background: rgba(231,76,50,.85); color:#fff; }
::-moz-selection{ background: rgba(231,76,50,.85); color:#fff; }

/* =========================================
   Curseur coeur (petit + blanc)
   ========================================= */
:root{
  --cursor-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M16 28s-8.6-5.6-12.1-10.4C1.4 14.5 2.3 10.6 5.4 8.7c2.6-1.6 5.8-1 7.6 1l3 3.2 3-3.2c1.8-2 5-2.6 7.6-1 3.1 1.9 4 5.8 1.5 8.9C24.6 22.4 16 28 16 28z'/%3E%3C/svg%3E") 12 12, pointer;
}

/* Où tu veux l’appliquer */
a,
.et_pb_menu a,
.et_pb_button,
button,
input[type="submit"],
.byd-header a,
.hero-title .accent-word{
  cursor: var(--cursor-heart) !important;
}

/* =========================================
   SMART HEADER
   ========================================= */
.byd-header{
  transition: transform .28s ease, background-color .28s ease, box-shadow .28s ease, padding .28s ease;
  will-change: transform;
  z-index: 999999 !important;
}

/* En haut de page */
body.byd-at-top .byd-header{
  background: transparent !important;
  box-shadow: none !important;
  padding-top: 18px;
  padding-bottom: 18px;
}

/* Après scroll */
body.byd-scrolled .byd-header{
  background: rgba(0,0,0,.92) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.25) !important;
  padding-top: 10px;
  padding-bottom: 10px;
  backdrop-filter: blur(8px);
}

/* Cache quand on descend */
body.byd-scroll-down .byd-header{
  transform: translate3d(0,-120%,0) !important;
  animation: none !important;
}

/* Réapparition quand on remonte */
body.byd-scroll-up .byd-header{
  animation: bydDropIn .45s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes bydDropIn{
  0%   { transform: translate3d(0,-120%,0); }
  80%  { transform: translate3d(0,8px,0); }
  100% { transform: translate3d(0,0,0); }
}

/* Liens en blanc après scroll */
body.byd-scrolled .byd-header a{
  color: #fff !important;
}

/* =========================================
   Bouton "Contact" (li.btn-contact-menu > a)
   ========================================= */

/* Aligner verticalement tous les liens */
.byd-header .et-menu-nav > ul,
.byd-header .et_pb_menu__menu > nav > ul{
  display: flex !important;
  align-items: center !important;
}

.byd-header .et-menu-nav > ul > li,
.byd-header .et_pb_menu__menu > nav > ul > li{
  display: flex !important;
  align-items: center !important;
}

/* Style du bouton */
.byd-header li.btn-contact-menu > a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 40px !important;
  line-height: 40px !important;
  padding: 0 16px !important;

  margin-left: 12px !important;
  white-space: nowrap !important;

  border-radius: 999px !important;
  background: #e74c32 !important;
  color: #fff !important;

  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;

  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.20);

  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, filter .18s ease;
}

.byd-header li.btn-contact-menu > a:hover{
  background: #cf3f28 !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  filter: saturate(1.06);
}

.byd-header li.btn-contact-menu > a:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(231,76,50,.35), 0 14px 30px rgba(0,0,0,.28);
}

/* En sticky (après scroll) un peu plus compact */
body.byd-scrolled .byd-header li.btn-contact-menu > a{
  height: 36px !important;
  line-height: 36px !important;
  padding: 0 14px !important;
}

/* =========================================
   Evite de couper le hover du logo
   ========================================= */
.byd-header,
.byd-header .et_pb_menu__inner-container,
.byd-header .et_pb_menu__logo-wrap,
.byd-header .et_pb_menu__logo{
  overflow: visible !important;
}

/* =========================================
   Hover-up
   ========================================= */
.hover-up{
  transform: translateZ(0);
  transition: transform .22s cubic-bezier(.16, 1, .3, 1), filter .22s ease;
  will-change: transform;
}

.hover-up:hover{
  transform: translateY(-6px);
  filter: brightness(1.02) saturate(1.03);
}

.hover-up:active{
  transform: translateY(-2px);
}

.hover-up:focus-visible{
  outline: none;
}

@media (hover: none){
  .hover-up:hover{
    transform: none;
    filter: none;
  }
}

/* Accent word = passage en rouge + coeurs (global) */
.accent-word{
  position: relative;
  display: inline-block;
  color: #fff;

  animation: accentToRed .45s ease forwards;
  animation-delay: var(--accentDelay, .9s);
  will-change: color;
}

@keyframes accentToRed{
  from{ color:#fff; }
  to{ color:#e74c32; }
}

.accent-word::before,
.accent-word::after{
  content: "\e089";
  font-family: "ETmodules";
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  position: absolute;
  right: -0.18em;
  top: -0.78em;

  font-size: .34em;
  color: #e74c32;
  text-shadow: 0 10px 22px rgba(0,0,0,.22);

  opacity: 0;
  pointer-events: none;
  transform: translate3d(0,10px,0) scale(.2) rotate(-8deg);

  animation: heartPopSmall .70s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay: var(--accentDelay, .9s);
}

.accent-word::after{
  right: 0.38em;
  top: -1.06em;
  font-size: .28em;
  transform: translate3d(0,10px,0) scale(.2) rotate(10deg);
  animation-delay: calc(var(--accentDelay, .9s) + .08s);
}

@keyframes heartPopSmall{
  0%   { opacity: 0; transform: translate3d(0,10px,0) scale(.2) rotate(-8deg); }
  45%  { opacity: 1; transform: translate3d(0,-6px,0) scale(1.12) rotate(6deg); }
  75%  { opacity: 1; transform: translate3d(0,-14px,0) scale(1.0) rotate(-6deg); }
  100% { opacity: 0; transform: translate3d(0,-22px,0) scale(.9) rotate(-10deg); }
}

@media (prefers-reduced-motion: reduce){
  .accent-word{
    animation: none !important;
    color: #e74c32 !important;
  }
  .accent-word::before,
  .accent-word::after{
    animation: none !important;
    opacity: 0 !important;
  }
}


/* =========================
   CURSEUR COEUR (blanc, petit) AU HOVER
   ========================= */
:root{
  --cursor-heart-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M16 28s-8.6-5.6-12.1-10.4C1.4 14.5 2.3 10.6 5.4 8.7c2.6-1.6 5.8-1 7.6 1l3 3.2 3-3.2c1.8-2 5-2.6 7.6-1 3.1 1.9 4 5.8 1.5 8.9C24.6 22.4 16 28 16 28z'/%3E%3C/svg%3E") 11 11, pointer;
}

/* coeur uniquement au hover (liens + Dates) */
a:hover,
.et_pb_button:hover,
button:hover,
input[type="submit"]:hover,
.accent-word:hover{
  cursor: var(--cursor-heart-white);
}


/* =========================
   ACCENT WORD (Dates) : rouge + coeurs
   ========================= */

/* important: évite que ça soit coupé */
.accent-word{
  position: relative;
  display: inline-block;
  overflow: visible !important;

  color: #fff;
  transition: color .22s ease;
}

/* devient rouge (piloté par JS au bon moment) */
.accent-word.byd-accent-red{
  color: #e74c32;
}

/* coeurs uniquement quand on déclenche "pop" */
.accent-word.byd-accent-pop::before,
.accent-word.byd-accent-pop::after{
  content: "\e089";
  font-family: "ETmodules";
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  position: absolute;
  right: -0.18em;
  top: -0.80em;

  font-size: .34em;
  color: #e74c32;
  text-shadow: 0 10px 22px rgba(0,0,0,.22);

  opacity: 0;
  pointer-events: none;
  transform: translate3d(0,10px,0) scale(.2) rotate(-8deg);
  animation: bydHeartPop .65s cubic-bezier(.16,1,.3,1) forwards;
}

.accent-word.byd-accent-pop::after{
  right: 0.38em;
  top: -1.10em;
  font-size: .28em;
  transform: translate3d(0,10px,0) scale(.2) rotate(10deg);
  animation-delay: .08s;
}

@keyframes bydHeartPop{
  0%   { opacity: 0; transform: translate3d(0,10px,0) scale(.2) rotate(-8deg); }
  45%  { opacity: 1; transform: translate3d(0,-6px,0) scale(1.12) rotate(6deg); }
  75%  { opacity: 1; transform: translate3d(0,-14px,0) scale(1.0) rotate(-6deg); }
  100% { opacity: 0; transform: translate3d(0,-22px,0) scale(.9) rotate(-10deg); }
}

@media (prefers-reduced-motion: reduce){
  .accent-word{ transition: none !important; }
  .accent-word.byd-accent-pop::before,
  .accent-word.byd-accent-pop::after{ animation: none !important; opacity: 0 !important; }
}


