/* ========================= */
/* ÉCRAN MENU */
/* ========================= */

.menu-screen {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  overflow: hidden;

  z-index: 10;

  background: #020617;
}

/* ========================= */
/* CONTENEUR MENU */
/* ========================= */

.menu-container {
  position: relative;

  width: 100%;
  height: 100%;

  overflow: hidden;
}

/* ========================= */
/* IMAGE MENU */
/* ========================= */

.menu-image {
  position: absolute;
  inset: 0;

  z-index: 1;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: fill;

  pointer-events: none;
}

/* ========================= */
/* SVG MENU */
/* ========================= */

.menu-svg {
  position: absolute;
  inset: 0;

  z-index: 2;

  width: 100%;
  height: 100%;

  pointer-events: auto;
}

/* ========================= */
/* SVG INTERNE */
/* ========================= */

.menu-svg svg {
  display: block;

  width: 100%;
  height: 100%;
}

/* ========================= */
/* ZONES INTERACTIVES */
/* ========================= */

.menu-svg [data-type],
.menu-svg .zone-svg {
  pointer-events: all;
  cursor: pointer;

  fill: rgba(255, 255, 255, 0.01);

  transition: filter 0.2s ease;
}
/* ========================= */
/* HOVER ZONES MENU */
/* ========================= */

@media (hover: hover) and (pointer: fine) {

  .menu-svg [data-type]:hover,
  .menu-svg .zone-svg:hover {

    fill: rgba(255, 220, 120, 0.08);

    filter:
      drop-shadow(0 0 3px rgba(255, 245, 210, 0.92))
      drop-shadow(0 0 8px rgba(255, 210, 90, 0.72))
      drop-shadow(0 0 14px rgba(255, 170, 40, 0.45));

    opacity: 3;
  }

}

/* ========================= */
/* VOIX ACTIVE */
/* ========================= */

#zone-action-voix-toggle.voice-enabled {
  fill: rgba(22, 95, 42, 0.72);

  filter:
    drop-shadow(0 0 5px rgba(90, 255, 130, 0.65))
    drop-shadow(0 0 14px rgba(90, 255, 130, 0.35));
}

/* ========================= */
/* VOIX DÉSACTIVÉE */
/* ========================= */

#zone-action-voix-toggle.voice-disabled {
  fill: rgba(110, 25, 25, 0.45);

  filter:
    drop-shadow(0 0 4px rgba(255, 90, 90, 0.45))
    drop-shadow(0 0 10px rgba(255, 90, 90, 0.25));
}

/* ========================= */
/* ACTIONS HTML MENU */
/* ========================= */

.menu-actions {
  position: absolute;
  right: 7%;
  bottom: 8%;

  z-index: 3;

  display: flex;
  flex-direction: column;
  gap: clamp(0.4rem, 1vw, 0.8rem);

  pointer-events: none;
}

.menu-action-btn {
  pointer-events: auto;

  padding: clamp(0.45rem, 1vw, 0.8rem) clamp(0.8rem, 1.6vw, 1.4rem);

  border: 1px solid rgba(255, 230, 160, 0.75);
  border-radius: 999px;

  background: rgba(20, 16, 8, 0.78);
  color: #fff3cf;

  font-size: clamp(0.7rem, 1.1vw, 1rem);
  font-weight: 700;

  cursor: pointer;
}
/* ========================= */
/* BULLE MENU */
/* ========================= */

.menu-bubble {
  position: absolute;

  right: 2%;
  bottom: 22%;

  z-index: 4;

  max-width: 28%;

  padding:
    clamp(12px, 1vw, 20px)
    clamp(16px, 1.2vw, 24px);

  border-radius: 24px;

  background: rgba(255, 248, 232, 0.96);
  border: 3px solid rgba(214, 169, 53, 0.95);

  color: #1b1b1b;

  font-size: clamp(13px, 1vw, 20px);
  line-height: 1.4;
  text-align: center;

  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);

  pointer-events: none;
}