/* ============================================================
   FILTERS TRANSFORMATIONS LIST
============================================================ */
#searchBtnFilter {
  min-width: 150px;
}

.all-btn-filters-transformation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* ============================================================
   PAGE : TRANSFORMATIONS (Explorer)
============================================================ */

/* Panneau de filtres (Header) - CLASSIQUE PREMIUM */
.filters-panel {
  border: 1px solid var(--color-border) !important;
  transition: box-shadow 0.3s ease;
}

.filters-panel:hover {
  box-shadow: var(--shadow-md) !important;
}

.filters-panel .form-label {
  color: var(--color-dark);
}

.search-premium-input {
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}

.search-premium-input .form-control,
.search-premium-input.form-select,
.search-premium-input .input-group-text {
  border-color: #dee2e6 !important;
  color: var(--color-dark);
}

.search-premium-input .form-control::placeholder {
  color: #adb5bd;
}

.search-premium-input:focus-within .form-control,
.search-premium-input:focus-within .input-group-text,
.search-premium-input:focus-within.form-select {
  border-color: var(--color-primary) !important;
}

.search-premium-input:focus-within,
.search-premium-input.form-select:focus {
  box-shadow: 0 0 0 3px rgba(27, 94, 75, 0.1);
  border-radius: var(--radius-sm);
}

.search-premium-input.form-select:focus {
  border-color: var(--color-primary) !important;
}

.form-control:focus {
  box-shadow: none !important;
}

/* Custom Checkbox discrètes et modernes */
.custom-checkbox .form-check-input {
  border-color: #cbd5e1;
  cursor: pointer;
}

.custom-checkbox .form-check-input:checked {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.custom-checkbox .form-check-label {
  cursor: pointer;
  user-select: none;
}

/* Pagination Moderne */
.pagination-modern {
  gap: 0.25rem;
  padding: 0.5rem;
  border: 1px solid var(--color-border);
}

.pagination-modern .page-link {
  border-radius: var(--radius-sm) !important;
  color: var(--color-dark);
  font-weight: 500;
  transition: all 0.2s ease;
}

.pagination-modern .page-link:hover:not(.bg-transparent) {
  background-color: var(--color-light);
  color: var(--color-primary) !important;
}

.pagination-modern .active .page-link {
  background-color: var(--color-primary) !important;
  color: var(--color-white) !important;
  box-shadow: 0 4px 10px rgba(27, 94, 75, 0.2);
}

.pagination-modern .disabled .page-link {
  margin-bottom: 2rem;
}

/* ============================================================
   PAGINATION MINIMALISTE (Cercles espacés)
============================================================ */
.pagination-minimal .page-link {
  width: 40px;
  height: 40px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50% !important;
  background-color: #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
  transition: all var(--transition-fast, 0.2s) ease;
}

.pagination-minimal .page-item:not(.active):not(.disabled) .page-link:hover {
  background-color: var(--color-gray-light, #e9ecef) !important;
  transform: translateY(-2px);
}

.pagination-minimal .page-item.active .page-link {
  background-color: var(--color-primary) !important;
  color: white !important;
  box-shadow: 0 4px 10px rgba(42, 117, 107, 0.3) !important; /* Ombre primaire */
}

.pagination-minimal .page-item {
  background: transparent !important;
  border: none !important;
}

/* ============================================================
   CARTE DÉTAILLÉE : .new-card
============================================================ */
.new-card {
  border: 1px solid var(--color-border);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  cursor: pointer;
}

.new-card:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-4px);
}

.new-card__image-container {
  height: 220px;
  overflow: hidden;
}

.new-card__tag-category {
  color: var(--color-dark);
}

.new-card__pills .badge {
  font-weight: 500;
  font-size: 0.65rem;
}

.new-card__provider-img {
  width: 36px;
  height: 36px;
  object-fit: cover;
}

.new-card__provider-link:hover {
  text-decoration: underline !important;
}

/* Déplace les étiquettes Avant/Après en bas de l'image (pour .new-card uniquement) */
.new-card .project-card__label {
  top: auto;
  bottom: 0.75rem; 
}

/* ============================================================
   CLASSES SÉMANTIQUES (Remplacement des styles inline)
   ============================================================ */

/* Filtres */
.filter-main-label { font-size: 0.9rem; }
.filter-main-input { font-size: 0.95rem; }
.filter-adv-label { font-size: 0.85rem; }
.filter-adv-check-label { font-size: 0.85rem; }
.filter-sort-select { 
  background-color: var(--color-white) !important; 
  width: auto !important; 
  font-size: 0.85rem; 
}

/* Carte de Transformation (New Card) */
.new-card__category-tag {
  z-index: 10;
  font-size: 0.75rem;
}

/* Overrides z-index pour les labels de statut */
.project-card__label--before,
.project-card__label--after {
  z-index: 10 !important;
}

.new-card__meta-badges {
  justify-content: space-between;
  align-items: center;
}

.new-card__meta-item {
  background-color: #f4fbf7 !important;
  border: 1px solid #e1f3e8 !important;
  font-weight: 550 !important;
  font-size: 11px;
}

.new-card__author-avatar {
  object-fit: cover;
}

.new-card__author-name {
  font-size: 0.8rem;
}

.new-card__author-job {
  font-size: 0.75rem;
}

.new-card__author-rating {
  font-size: 0.7rem;
}

.new-card__author-link {
  font-size: 0.8rem;
}

.new-card__verify-icon {
  font-size: 0.75rem;
}

.new-card__star-icon {
  color: #f59e0b;
}

@media screen and (max-width: 540px) {
  .filters-panel .btn-link {
    margin-bottom: 15px;
  }
}