/* PATCH V27.2 UI POLISH */

/* Menu gauche uniforme */
.sidebar .nav-btn,
.sidebar .menu-item,
aside .nav-btn,
aside .menu-item,
nav .nav-btn,
nav .menu-item,
nav button[data-page],
.v27-menu-normalized {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  text-align: left !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-sizing: border-box !important;
}

.sidebar .nav-btn.admin-only.hidden,
.sidebar .nav-btn[data-page="admin"].hidden,
aside .nav-btn.admin-only.hidden,
aside .nav-btn[data-page="admin"].hidden,
nav .nav-btn.admin-only.hidden,
nav button[data-page="admin"].hidden,
.v27-menu-normalized.admin-only.hidden,
.v27-menu-normalized[data-page="admin"].hidden {
  display: none !important;
}

.v27-menu-normalized .v27-nav-icon,
.nav-btn .v27-nav-icon,
.menu-item .v27-nav-icon,
nav button[data-page] .v27-nav-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  margin: 0 !important;
  text-align: center !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 1 !important;
}

.v27-menu-normalized .v27-nav-label,
.nav-btn .v27-nav-label,
.menu-item .v27-nav-label,
nav button[data-page] .v27-nav-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: left !important;
}

/* Cartes soundboard */
#soundGrid button.v27-shared-card,
.sound-grid button.v27-shared-card,
.v27-sound-card {
  position: relative !important;
  overflow: hidden !important;
}

/* Étoile favorite, toujours haut gauche */
#soundGrid button.v27-shared-card > .v27-fav-btn,
.sound-grid button.v27-shared-card > .v27-fav-btn,
.v27-sound-card > .v27-fav-btn,
.v27-fav-btn {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1000 !important;

  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(5, 5, 18, .82) !important;
  color: rgba(255,255,255,.48) !important;

  display: grid !important;
  place-items: center !important;

  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  pointer-events: auto !important;

  box-shadow: 0 0 12px rgba(0,0,0,.28) !important;
  transition: transform .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease, background .14s ease !important;
}

#soundGrid button.v27-shared-card > .v27-fav-btn:hover,
.sound-grid button.v27-shared-card > .v27-fav-btn:hover,
.v27-sound-card > .v27-fav-btn:hover,
.v27-fav-btn:hover,
.v27-fav-btn.is-favorite {
  color: #ffd642 !important;
  border-color: rgba(255, 214, 66, .82) !important;
  background: rgba(60, 42, 0, .76) !important;
  box-shadow:
    0 0 10px rgba(255, 214, 66, .48),
    0 0 24px rgba(255, 180, 40, .24) !important;
  transform: scale(1.1) !important;
}

/* X delete, haut droite seulement pour les cartes V27 */
.v27-sound-card > .v27-delete-btn,
.v27-delete-btn {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 900 !important;
}

/* Supprime seulement les X V27 dans le Soundboard partagé, car l'ancien X top-right existe déjà */
#soundGrid .v27-delete-btn,
.sound-grid button.v27-shared-card .v27-delete-btn {
  display: none !important;
}

/* PATCH V27.4 CARD CONTROLS */
#soundGrid button,
#soundGrid button.v27-shared-card,
.sound-grid button,
.sound-grid button.v27-shared-card,
.backend-sound-button-v233,
.sound-btn {
  position: relative !important;
  overflow: hidden !important;
}

#soundGrid button.v27-shared-card > .v27-fav-btn,
.sound-grid button.v27-shared-card > .v27-fav-btn,
.v27-sound-card > .v27-fav-btn,
#soundGrid .v27-fav-btn {
  top: 5px !important;
  left: 5px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  font-size: 14px !important;
  transform-origin: center !important;
}

#soundGrid button.v27-shared-card > .v27-fav-btn:hover,
.sound-grid button.v27-shared-card > .v27-fav-btn:hover,
.v27-sound-card > .v27-fav-btn:hover,
#soundGrid .v27-fav-btn:hover,
#soundGrid .v27-fav-btn.is-favorite {
  transform: scale(1.06) !important;
}

#soundGrid .backend-sound-delete-v233,
.sound-grid .backend-sound-delete-v233,
#soundGrid .delete-btn,
.sound-grid .delete-btn {
  top: 7px !important;
  right: 7px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  z-index: 1200 !important;
  transform-origin: center !important;
}

#soundGrid .backend-sound-delete-v233:hover,
.sound-grid .backend-sound-delete-v233:hover,
#soundGrid .delete-btn:hover,
.sound-grid .delete-btn:hover {
  transform: scale(1.05) !important;
}

/* PATCH V27.5 - controles de carte stables */
#soundGrid button.v27-shared-card > .v27-fav-btn,
.sound-grid button.v27-shared-card > .v27-fav-btn,
#myCreationsGrid .v27-fav-btn,
#favoritesGrid .v27-fav-btn {
  position: absolute !important;
  top: 5px !important;
  right: auto !important;
  bottom: auto !important;
  left: 5px !important;
  z-index: 1200 !important;

  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;

  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;

  display: inline-grid !important;
  place-items: center !important;
  text-align: center !important;
  line-height: 1 !important;
  font-size: 14px !important;
}

#soundGrid .backend-sound-button-v233 > .backend-sound-delete-v233,
#soundGrid button.v27-shared-card > .backend-sound-delete-v233,
#soundGrid button.v27-shared-card > .v27-delete-btn,
.sound-grid .backend-sound-button-v233 > .backend-sound-delete-v233,
.sound-grid button.v27-shared-card > .backend-sound-delete-v233,
.sound-grid button.v27-shared-card > .v27-delete-btn,
#myCreationsGrid .v27-delete-btn,
#favoritesGrid .v27-delete-btn {
  position: absolute !important;
  top: 7px !important;
  right: 7px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1300 !important;

  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;

  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;

  display: inline-grid !important;
  place-items: center !important;
  text-align: center !important;
  line-height: 1 !important;
  font-size: 13px !important;
  font-weight: 900 !important;

  color: rgba(255, 255, 255, 0.96) !important;
  background: rgba(255, 58, 96, 0.94) !important;
  border: 1px solid rgba(255, 255, 255, 0.30) !important;
  box-shadow: 0 0 14px rgba(255, 58, 96, 0.55) !important;
  cursor: pointer !important;
  transform-origin: center !important;
}

#soundGrid .backend-sound-button-v233 > .backend-sound-delete-v233,
#soundGrid button.v27-shared-card > .backend-sound-delete-v233,
#soundGrid button.v27-shared-card > .v27-delete-btn,
.sound-grid .backend-sound-button-v233 > .backend-sound-delete-v233,
.sound-grid button.v27-shared-card > .backend-sound-delete-v233,
.sound-grid button.v27-shared-card > .v27-delete-btn {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: scale(0.72) !important;
}

#soundGrid .backend-sound-button-v233:hover > .backend-sound-delete-v233,
#soundGrid button.v27-shared-card:hover > .backend-sound-delete-v233,
#soundGrid button.v27-shared-card:hover > .v27-delete-btn,
.sound-grid .backend-sound-button-v233:hover > .backend-sound-delete-v233,
.sound-grid button.v27-shared-card:hover > .backend-sound-delete-v233,
.sound-grid button.v27-shared-card:hover > .v27-delete-btn,
#myCreationsGrid .v27-delete-btn:hover,
#favoritesGrid .v27-delete-btn:hover {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: scale(1) !important;
}

/* PATCH V27.6 - etoile favorite persistante */
#soundGrid .v27-fav-btn.is-favorite,
#soundGrid .v27-fav-btn[data-favorite="true"],
#soundGrid .v27-fav-btn[aria-pressed="true"],
.sound-grid .v27-fav-btn.is-favorite,
.sound-grid .v27-fav-btn[data-favorite="true"],
.sound-grid .v27-fav-btn[aria-pressed="true"],
#myCreationsGrid .v27-fav-btn.is-favorite,
#myCreationsGrid .v27-fav-btn[data-favorite="true"],
#myCreationsGrid .v27-fav-btn[aria-pressed="true"],
#favoritesGrid .v27-fav-btn.is-favorite,
#favoritesGrid .v27-fav-btn[data-favorite="true"],
#favoritesGrid .v27-fav-btn[aria-pressed="true"] {
  color: #ffd642 !important;
  border-color: rgba(255, 214, 66, .88) !important;
  background: rgba(60, 42, 0, .82) !important;
  box-shadow:
    0 0 10px rgba(255, 214, 66, .52),
    0 0 24px rgba(255, 180, 40, .28) !important;
}

/* PATCH V27.7 - X seulement dans Soundboard partage */
#myCreationsGrid .v27-delete-btn,
#favoritesGrid .v27-delete-btn {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
