:root {
  --variant-warning-border-color: rgba(255, 193, 7, 0.45);
  --variant-warning-background: rgba(255, 193, 7, 0.08);
}

.card {
  position: relative;
  overflow: visible !important;
  z-index: 1;
}

.card:hover {
  transform: scale(1.02);
  box-shadow: 0 0 1rem rgba(255, 255, 255, 0.1);
  z-index: 10;
}

.card-title-uniform {
  --card-title-max-size: 1.1;
  --card-title-min-size: 0.85;
  --card-title-step-size: 0.05;
  --card-title-line-height: 1.25;
  display: block;
  width: 100%;
  color: rgb(100, 255, 203) !important;
  cursor: pointer;
  font-size: calc(var(--card-title-max-size) * 1rem);
  line-height: var(--card-title-line-height);
  min-height: calc(var(--card-title-line-height) * 1.1rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: font-size 0.2s ease;
}

.card-title-uniform.card-title-truncated {
  text-overflow: ellipsis;
}

.dropdown-menu {
  z-index: 1055 !important;
  position: absolute;
}

.btn-custom {
  color: rgb(100, 255, 203) !important;
  border: 1px solid rgb(100, 255, 203) !important;
  background-color: transparent;
}

.btn-custom:hover,
.btn-custom:focus {
  background-color: rgba(100, 255, 203, 0.1) !important;
  color: rgb(100, 255, 203) !important;
  border-color: rgb(100, 255, 203) !important;
}

.pagination .page-link {
  color: rgb(100, 255, 203) !important;
  background-color: transparent;
  border: 1px solid rgb(100, 255, 203) !important;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
  background-color: rgba(100, 255, 203, 0.1) !important;
  color: rgb(100, 255, 203) !important;
  border-color: rgb(100, 255, 203) !important;
}

.pagination .page-item.active .page-link {
  background-color: rgb(100, 255, 203) !important;
  color: #000 !important;
  border-color: rgb(100, 255, 203) !important;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.4);
  background-size: 100% 100%;
  border-radius: 50%;
  width: 32px;
  height: 32px;
}

#modifierImagesExistantes {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 100px;
  padding: 5px;
}

#modifierImagesExistantes img {
  max-height: 80px;
  border: 2px solid limegreen;
  display: block;
}

.btn-custom-green {
  background-color: rgb(100, 255, 203) !important;
  color: #000 !important;
  border: none;
}

.btn-custom-green:hover {
  background-color: rgb(80, 230, 185) !important;
}

.btn-outline-custom-green {
  color: rgb(100, 255, 203) !important;
  border: 1px solid rgb(100, 255, 203) !important;
}

[data-bs-theme="light"] .btn-outline-custom-green {
  color: #000 !important;
}

.btn-outline-custom-green:hover {
  background-color: rgb(100, 255, 203) !important;
  color: #000 !important;
}

.btn-outline-custom-green-danger {
  color: rgb(100, 255, 203) !important;
  border: 1px solid rgb(100, 255, 203) !important;
  background-color: transparent !important;
  transition: 0.2s ease;
}

.btn-outline-custom-green-danger:hover {
  background-color: #dc3545 !important;
  color: white !important;
  border-color: #dc3545 !important;
}

#settingsModal .nav-link {
  color: rgb(100, 255, 203) !important;
}

#settingsModal .nav-link.active {
  background-color: rgb(100, 255, 203) !important;
  color: #000 !important;
}

.fade-transition {
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Dropdown personnalisé */
.custom-dropdown {
  background-color: #1e1e1e;
  border: 1px solid rgb(100, 255, 203);
  padding: 0.25rem;
}

.custom-dropdown .dropdown-item {
  color: white;
  padding: 0.4rem 1rem;
  transition: background-color 0.2s;
}

.custom-dropdown .dropdown-item:hover {
  background-color: rgba(100, 255, 203, 0.2);
  color: rgb(100, 255, 203);
}

[data-bs-theme="light"] .custom-dropdown {
  background-color: #fff;
  color: #000;
}

[data-bs-theme="light"] .custom-dropdown .dropdown-item {
  color: #000;
}

[data-bs-theme="light"] .modal-content {
  background-color: #fff;
  color: #000;
}

.custom-dropdown .dropdown-item.active-collection {
  background-color: rgb(100, 255, 203);
  color: #000;
  font-weight: bold;
}
.result-color {
  color: rgb(100, 255, 203) !important;
}
@media (max-width: 768px) {
  #filtersCollapse .form-select,
  #filtersCollapse .form-control,
  #filtersCollapse .btn {
    margin-bottom: 10px;
  }
}

.selection-checkbox {
  z-index: 60;
  transform: scale(1.2);
}

.collection-item.selected .card {
  border: 2px solid rgb(100, 255, 203) !important;
  box-shadow: 0 0 5px rgba(100, 255, 203, 0.5);
}

.image-wrapper {
  position: relative;
  overflow: visible !important; /* Permet aux menus déroulants d'échapper à l'image */
}

/* Allow dropdowns rendered over card images to overflow correctly */
.collection-item .carousel-inner,
.collection-item .carousel-item {
  overflow: visible;
}
.image-wrapper > img {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.image-wrapper > img.loaded {
  opacity: 1;
}
.badge-overlay {
  position: absolute;
  z-index: 30;
  display: flex;
  align-items: center;
  overflow: visible !important; /* Autorise l'affichage des dropdowns hors du badge */
}
.badge-overlay-top-left {
  top: 0.75rem;
  left: 0.75rem;
  z-index: 40;
}
.badge-overlay-top-right {
  top: 0.75rem;
  right: 0.75rem;
}
.badge-overlay-bottom-left {
  bottom: 0.75rem;
  left: 0.75rem;
}
.image-wrapper.has-profile-overlay .badge-overlay-bottom-left {
  bottom: 3.5rem;
}
.image-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px; /* centrer le spinner */
    border: 4px solid #ccc;
    border-top-color: #3498db; /* couleur de la partie animée */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 10;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Responsive navbar adjustments */
@media (max-width: 991.98px) {
  .navbar-nav .nav-item {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .navbar-nav .nav-item:last-child {
    margin-bottom: 0;
  }
}

.badge-estim-count {
  background-color: rgb(100, 255, 203) !important;
  color: #000 !important;
  margin-left: 0.75rem;
}

.badge-type {
  background-color: rgb(100, 108, 255) !important;
  color: #000 !important;
  cursor: pointer;
}

.badge-etat {
  background-color: rgb(100, 227, 255) !important;
  color: #000 !important;
  cursor: pointer;
}

.badge-etat-dropdown .badge-etat {
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
}

.badge-etat-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  position: relative;
}

.badge-etat-wrapper .variant-empty-indicator--etat {
  flex: 0 0 auto;
}

.badge-etat-dropdown .badge-etat:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.75);
  outline-offset: 2px;
}

[data-bs-theme="light"] .badge-etat-dropdown .badge-etat:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
}

.dropdown-menu-etat {
  min-width: 13rem;
  max-height: 18rem;
  overflow-y: auto;
  z-index: 1080;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #313131;
  text-decoration: none;
  background-color: rgb(100, 255, 203) !important;
}

.dropdown-menu-etat .dropdown-item.active {
  font-weight: 600;
}

.dropdown-menu-etat .dropdown-item[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.6;
}

.badge-etat-empty {
  border: 1px dashed var(--variant-warning-border-color) !important;
  background-color: rgb(255 236 7 / 70%) !important;
  color: rgba(133, 93, 0, 0.92) !important;
  pointer-events: auto;
}

.badge-estimation {
  background-color: rgb(243, 255, 100) !important;
  color: #000 !important;
}

.badge-serie {
  background-color: rgb(255, 122, 100) !important;
  color: #000 !important;
  cursor: pointer;
}

.badge-serie img.serie-symbol {
  height: 1em;
}

.badge-public {
  background-color: rgb(255 100 176) !important;
  color: #FFF !important;
}

.variant-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem;
  border-radius: 0.75rem;
  border: 1px dashed rgba(255, 255, 255, 0.24);
  background-color: rgba(255, 255, 255, 0.04);
  justify-content: flex-start;
}

.variant-badges.card-info-chip {
  border-color: rgba(255, 255, 255, 0.24);
  background-color: rgba(255, 255, 255, 0.04);
  flex-wrap: wrap;
  justify-content: flex-start;
}

[data-bs-theme="light"] .variant-badges,
[data-bs-theme="light"] .variant-badges.card-info-chip {
  border-color: rgba(0, 0, 0, 0.18);
  background-color: rgba(0, 0, 0, 0.03);
}

.variant-badges-empty {
  position: relative;
  border: 1px dashed var(--variant-warning-border-color);
  border-radius: 0.75rem;
  padding: 0.85rem 0.75rem 0.65rem;
  background-color: var(--variant-warning-background);
}

.variant-empty-indicator {
  position: absolute;
  top: -0.7rem;
  right: 0px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  border: 1px dashed var(--variant-warning-border-color);
  background-color: var(--variant-warning-background);
  color: rgba(133, 93, 0, 0.95);
  font-size: 1rem;
  line-height: 1;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  padding: 0;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  z-index: 1;
}

.variant-empty-indicator--etat {
  position: static;
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.9rem;
  box-shadow: none;
}

.variant-warning-highlight,
.card-info-chip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap;
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
  width: 100%;
  position: relative;
}

.variant-warning-highlight {
  border: 1px dashed var(--variant-warning-border-color);
  background-color: var(--variant-warning-background);
}

.card-info-chip {
  border: 1px dashed rgb(100, 255, 203);
  background-color: rgb(100 255 203 / 10%);
}

.info-chip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.08);
  color: rgb(100, 255, 203);
  flex: 0 0 auto;
  font-size: 1rem;
}

.info-chip-icon--cardmarket {
  background-color: rgba(100, 142, 255, 0.18);
  color: rgb(100, 142, 255);
}

.info-chip-icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.info-chip-icon svg text {
  font-family: inherit;
  dominant-baseline: middle;
}

.info-chip-content {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.25rem;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow: hidden;
}

.info-chip-content--stacked {
  flex-direction: row;
  align-items: baseline;
  gap: 0.35rem;
}

.info-chip-content--stacked .info-chip-meta {
  font-size: clamp(0.5rem, calc(0.2rem + 0.7vw), 0.72rem);
}

.info-chip-value,
.info-chip-meta {
  white-space: nowrap;
  min-width: 0;
}

.info-chip-value {
  font-weight: 600;
  font-size: clamp(0.62rem, calc(0.3rem + 1.4vw), 0.95rem);
}

.info-chip-meta {
  font-size: clamp(0.55rem, calc(0.25rem + 1vw), 0.82rem);
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.variant-empty-indicator span {
  display: block;
  line-height: 1;
}

.variant-empty-indicator:focus-visible {
  outline: 2px solid rgba(33, 37, 41, 0.4);
  outline-offset: 2px;
}

.variant-empty-indicator:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}

.badge-variant {
  background-color: rgba(255, 255, 255, 0.05) !important;
  color: rgba(255, 255, 255, 0.58) !important;
  border: 1px dashed rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.35em 0.85em;
  line-height: 1;
  user-select: none;
  min-height: 1.75rem;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.badge-variant:focus-visible {
  outline: 2px solid rgba(100, 255, 203, 0.6);
  outline-offset: 2px;
}

button.badge-variant {
  background: transparent;
  border: none;
}

.badge-variant-toggle,
.variant-choice {
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

[data-bs-theme="light"] .badge-variant {
  background-color: rgba(0, 0, 0, 0.04) !important;
  color: rgba(0, 0, 0, 0.68) !important;
  border-color: rgba(0, 0, 0, 0.18);
}

.variant-empty-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: #ffda6a;
  background-color: rgba(255, 193, 7, 0.1);
  border: 1px dashed rgba(255, 193, 7, 0.45);
  border-radius: 0.75rem;
  padding: 0.4rem 0.75rem;
  margin-top: 0.5rem;
}

.variant-empty-hint i {
  font-size: 1rem;
}

.badge-variant-toggle:not([disabled]):hover,
.variant-choice:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.35);
  color: rgba(255, 255, 255, 0.78) !important;
}

[data-bs-theme="light"] .badge-variant-toggle:not([disabled]):hover,
[data-bs-theme="light"] .variant-choice:hover {
  background-color: rgba(0, 0, 0, 0.06) !important;
  border-color: rgba(0, 0, 0, 0.22);
  color: rgba(0, 0, 0, 0.75) !important;
}

.badge-variant[disabled] {
  cursor: not-allowed;
  color: rgba(255, 255, 255, 0.38) !important;
  border-color: rgba(255, 255, 255, 0.18);
}

[data-bs-theme="light"] .badge-variant[disabled] {
  color: rgba(0, 0, 0, 0.4) !important;
  border-color: rgba(0, 0, 0, 0.16);
}

.badge-variant-loading {
  opacity: 0.55;
  pointer-events: none;
}

.badge-variant-owned {
  background-color: rgba(100, 255, 203, 0.2) !important;
  color: rgb(100, 255, 203) !important;
  border-color: rgba(100, 255, 203, 0.55);
  border-style: solid;
}

[data-bs-theme="light"] .badge-variant-owned {
  background-color: rgba(25, 135, 84, 0.12) !important;
  color: rgb(25, 135, 84) !important;
  border-color: rgba(25, 135, 84, 0.35);
}

.badge-first-edition {
  background-color: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.4);
}

.badge-first-edition .first-edition-icon {
  height: 20px;
  width: auto;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.15);
  padding: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
  filter: grayscale(1);
  opacity: 0.65;
}

[data-bs-theme="light"] .badge-first-edition .first-edition-icon {
  background-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.badge-variant-owned.badge-first-edition .first-edition-icon {
  background-color: rgb(100, 255, 203) !important;
  filter: none;
  opacity: 1;
}

.badge-user-points {
  background-color: rgb(180, 180, 180) !important;
  color: #000 !important;
  font-size: 0.75rem;
  padding: 0.25em 0.45em;
}

.badge-completion-official {
  background-color: rgb(160, 255, 100) !important;
  color: #000 !important;
}

.badge-completion-total {
  background-color: rgb(100, 190, 255) !important;
  color: #000 !important;
}

.profile-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  padding: 2px 4px;
  border-top-right-radius: 0.5rem;
  display: flex;
  align-items: center;
}

.profile-overlay img {
  width: 24px;
  height: 24px;
  object-fit: cover;
  border-radius: 50%;
}

.profile-overlay span {
  color: rgb(100, 255, 203);
  font-size: 0.85rem;
}

#rapportGlobalModal .card,
#rapportGlobalModal .card-header {
  background-color: #333 !important;
  color: #fff !important;
}
#rapportGlobalModal .card-header h6 {
  color: #fff !important;
}

/* Step form horizontal layout */
.form-steps-wrapper {
  overflow: hidden;
  transition: height 0.3s ease;
}

/* Chaque étape est affichée comme une page indépendante */
.form-step {
  display: none;
}

.form-step.active {
  display: block;
}

.step-nav {
  background-color: inherit;
}
.impersonation-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ffc107;
  color: #000;
  text-align: center;
  padding: 0.5rem;
  z-index: 1100;
}

body.has-impersonation-bar {
  margin-top: 3rem;
}

footer a {
  font-size: 12px;
  color: rgb(100, 255, 203) !important;
  text-decoration: auto;
}

footer a:hover {
  color: rgb(100, 255, 203) !important;
  text-decoration: auto;
}
