/* ---------------------------------
   HERO 2025 – Pixel Komando
   Un seul fichier pour #home.pk-hero
   --------------------------------- */

/* Boîte globale du hero */
.pk-hero {
  position: relative;
  min-height: 100vh;
  padding: 96px 16px 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
}

/* Mobile : un peu moins haut, padding réduit */
@media (max-width: 767px) {
  .pk-hero {
    min-height: 88vh;
    padding: 80px 16px 56px;
  }
}

/* Background hero (image LCP + Ken Burns) */
.pk-hero-media {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.pk-hero-media picture,
.pk-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* =======================
   KEN BURNS HERO
   ======================= */

/* =======================
   KEN BURNS HERO
   ======================= */

#slideshow {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}

.kb-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.08);
  /* FONDU SEULEMENT sur opacity */
  transition: opacity 1.2s ease-in-out;
  animation: none;
}

/* Slide visible : zoom continu + visible */
.kb-slide.is-active {
  opacity: 1;
  animation: kbZoom 12s ease-out forwards;
}

/* Slide qui sort : on LAISSE le transform, on change juste l’opacité */
.kb-slide.is-fading-out {
  opacity: 0;
}

@keyframes kbZoom {
  from {
    transform: scale(1.08);
  }
  to {
    transform: scale(1);
  }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  #slideshow,
  .kb-slide {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
  }
}

/* Accessibilité : pas de Ken Burns si motion réduit */
@media (prefers-reduced-motion: reduce) {
  #slideshow,
  .kb-slide {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
  }
}

.kb-slide-1 { background-image: url("/images/background-images/s1.avif"); }
.kb-slide-2 { background-image: url("/images/background-images/s2.avif"); }
.kb-slide-3 { background-image: url("/images/background-images/s3.avif"); }


/* Bloc central (logo + secteurs + tagline + CTA) */
.pk-hero-heading {
  position: relative;
  width: 100%;
  max-width: 1200px; /* hero XXL */
  margin-inline: auto;
  margin-top: 0;
  text-align: center;
  flex: 0 0 auto;
}

/* Liste des secteurs – base */
.pk-hero-sectors {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-Family:'Bebas Neue';
  gap: 0.2em;
  margin-top: 8px;
  font-weight:200;
  min-height: 3.2em; /* hauteur stable (~2 lignes) */
  text-shadow: 0px 0px 8px #000;
}

.pk-hero-sectors .sector,
.pk-hero-sectors .sector-last {
  margin: 0;
  line-height: 1.1;
}

/* Coins du hero (overlay déco) */
.pk-hero-corners {
  position: absolute;
  inset: 24px;
  pointer-events: none;
  z-index: 20;
}

/* Colonne réseaux sociaux (gauche) */
.pk-hero-social {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 30;
}

.pk-hero-social a {
  display: inline-flex;
}

/* Téléphone en haut à droite */
.pk-hero-phone {
  position: absolute;
  right: 24px;
  top: 24px;
  display: inline-flex;
  gap: 8px;
  text-decoration: none;
  z-index: 30;
}

/* =======================
   HERO – CORNERS
   ======================= */

.pk-hero {
  position: relative;          /* déjà sur #home, mais safe */
  overflow: hidden;
}

/* Conteneur des 4 coins */
.pk-hero-corners {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;                  /* au-dessus du background, en dessous du reste si tu veux */
}

/* Style commun des coins */
.pk-hero-corner {
  position: absolute;
  width: 42px;
  height: 42px;
  box-sizing: border-box;
}

/* Top-left */
.pk-hero-corner--tl {
  top: 24px;
  left: 24px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

/* Top-right */
.pk-hero-corner--tr {
  top: 24px;
  right: 24px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* Bottom-left */
.pk-hero-corner--bl {
  bottom: 24px;
  left: 24px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
}

/* Bottom-right */
.pk-hero-corner--br {
  bottom: 24px;
  right: 24px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}


/* Responsive overlays : rapprocher un peu sur mobile */
@media (max-width: 767px) {
  .pk-hero-social {
    left: 12px;
    gap: 8px;
  }

  .pk-hero-phone {
    right: 12px;
    top: 16px;
  }

  .controls {
    bottom: 16px;
  }
}

/* ------------------------------
   ANIMATIONS HERO (safe CLS)
   ------------------------------ */

/* ÉTAT INITIAL : tout ce qui est animé dans le hero */
.pk-hero [data-animate] {
  opacity: 0;
  transform: translateY(12px);
  will-change: opacity, transform;
}

/* ÉTAT FINAL : quand IntersectionObserver ajoute .is-visible */
.pk-hero [data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity .35s ease-out var(--pk-delay, 0s),
    transform .35s ease-out var(--pk-delay, 0s);
}

/* Desktop : PIXEL et KOMANDO côte à côte */
@media (min-width: 992px) {
  .pk-hero-title {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 0.4em;          /* espace entre PIXEL et KOMANDO */
    margin-bottom: 0.35em;
  }

  .pk-hero-title span {
    display: inline-block; /* annule tout display:block éventuel */
  }
}

/* Desktop XXL : sectors sur une seule ligne, look "affiche" */
@media (min-width: 1200px) {
  .pk-hero-sectors {
    display: flex;
    flex-wrap: nowrap;       /* tout sur une seule ligne */
    justify-content: center;
    gap: 0.45em;
    white-space: nowrap;     /* empêche les retours internes */
    font-size: 1.15rem;      /* un peu plus grand pour le hero */
    margin-top: 10px;
  }

  .pk-hero-sectors .sector,
  .pk-hero-sectors .sector-last {
    display: inline-block;
    font-weight: 200;
    letter-spacing: 0.07em;  /* étire la ligne pour un look premium */
    text-shadow:0px 0px 8px #000;
  }
}


/* =======================
   HERO – Téléphone triangle top-right
   ======================= */

.pk-hero-phone,
.pk-phone {
  position: absolute;
  top: 0;
  right: 0;
  height: 180px;
  width: 560px;
  padding: 0 2rem;
  display: flex;
  padding-top: 34px;
  justify-content: flex-end;
  gap: 0.75rem;
  text-decoration: none;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.34em;
  z-index: 15;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 0);
}

.pk-hero-phone-number,
.pk-number {
  font-size: 2.8rem;
  white-space: nowrap;
  font-family: "Bebas Neue", system-ui, sans-serif;
}

/* pastille "bulle" grise avec petite pointe orange */
.pk-hero-phone-icon {
  position: relative;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #888888;
  flex-shrink: 0;
}

.pk-hero-phone-icon::after {
  content: "";
  position: absolute;
  bottom: -4px;
  right: -4px;
  width: 14px;
  height: 14px;
  background: #dd9933;
  border-radius: 3px 50% 50% 50%;
}

/* survol léger */
.pk-hero-phone:hover,
.pk-phone:hover {
  background: rgba(0, 0, 0, 0.85);
}

/* Adaptation tablette / mobile */
@media (max-width: 992px) {
  .pk-hero-phone,
  .pk-phone {
    height: 70px;
    width: 260px;
    padding: 0 1.5rem;
  }

  .pk-hero-phone-number,
  .pk-number {
    font-size: 1.1rem;
  }
}

@media (max-width: 600px) {
  .pk-hero-phone,
  .pk-phone {
    height: 60px;
    width: 230px;
    padding: 0 1.2rem;
  }

  .pk-hero-phone-number,
  .pk-number {
    font-size: 1rem;
  }

  .pk-hero-phone-icon {
    width: 26px;
    height: 26px;
  }
}

/* =======================
   HERO – Colonne réseaux sociaux à gauche
   ======================= */

.pk-hero-social {
  position: absolute;
  left: 0;
  bottom: 50%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  z-index: 10;
}

.pk-hero-social .pk-icon {
  width: 36px;
  height: 64px;
  fill: #ffffff;
  opacity: 0.85;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 6px 6px;
  box-shadow: 0px 0px 8px #000;
}

.pk-hero-social a:hover .pk-icon {
  opacity: 1;
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: no-preference) {

  /* Bloc réseaux : arrive de GAUCHE */
  .pk-hero [data-animate="social-left"],
  .pk-hero-social[data-animate="social-left"] {
    transform: translateX(-32px) translateY(0); /* on annule le Y de base */
  }

  .pk-hero [data-animate="social-left"].is-visible,
  .pk-hero-social[data-animate="social-left"].is-visible {
    transform: translateX(0) translateY(0);
  }

  /* Phone : arrive de DROITE */
  .pk-hero [data-animate="phone-right"],
  .pk-hero-phone[data-animate="phone-right"] {
    transform: translateX(32px) translateY(0); /* annule le Y */
  }

  .pk-hero [data-animate="phone-right"].is-visible,
  .pk-hero-phone[data-animate="phone-right"].is-visible {
    transform: translateX(0) translateY(0);
  }
}

