/* Styles complémentaires à Tailwind (CDN) pour le module de prise de RDV iRepare */

.irb-step-circle {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.875rem;
  border: 2px solid #cbd5e1;
  color: #94a3b8;
  background: #fff;
  transition: all .2s ease;
}
.irb-step-circle.is-active,
.irb-step-circle.is-done {
  border-color: #B3261E;
  background: #B3261E;
  color: #fff;
}
.irb-step-line {
  flex: 1;
  height: 2px;
  background: #cbd5e1;
  margin: 0 .5rem;
}
.irb-step-line.is-done { background: #B3261E; }

.irb-card {
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  background: #fff;
  transition: box-shadow .15s ease, border-color .15s ease, transform .1s ease;
  cursor: pointer;
}
.irb-card:hover {
  border-color: #26A6E3;
  box-shadow: 0 4px 14px rgba(27,117,188,.12);
}
.irb-card.is-selected {
  border-color: #B3261E;
  box-shadow: 0 0 0 2px rgba(179,38,30,.15);
}

.irb-fade-in { animation: irbFadeIn .18s ease; }
@keyframes irbFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.irb-scrollbar::-webkit-scrollbar { height: 6px; width: 6px; }
.irb-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }

.irb-spinner {
  border: 3px solid #e2e8f0;
  border-top-color: #B3261E;
  border-radius: 50%;
  width: 1.75rem;
  height: 1.75rem;
  animation: irbSpin .7s linear infinite;
}
@keyframes irbSpin { to { transform: rotate(360deg); } }

/* Badge de prix façon RepairPlugin : pastille pleine sur fond rouge, ou
   texte discret "prix sur demande". */
.irb-price-pill {
  background: #B3261E;
  color: #fff;
  font-weight: 700;
  font-size: 0.8rem;
  line-height: 1.1;
  border-radius: 0.5rem;
  padding: 0.3rem 0.55rem;
  white-space: nowrap;
  text-align: center;
}
.irb-price-pill--muted {
  background: transparent;
  color: #94a3b8;
  font-style: italic;
  font-weight: 500;
  font-size: 0.72rem;
  white-space: normal;
  text-align: right;
  max-width: 6rem;
}

/* Grandes cartes carrées pour le choix de la catégorie d'appareil (étape 1),
   avec une icône générique (pas de logo de marque). */
.irb-cat-card {
  aspect-ratio: 1 / 1;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.irb-cat-card:hover {
  border-color: #26A6E3;
  box-shadow: 0 4px 14px rgba(27,117,188,.12);
}
.irb-cat-card.is-selected {
  border-color: #B3261E;
  background: #FBEAE9;
  box-shadow: 0 0 0 2px rgba(179,38,30,.15);
}
.irb-cat-icon {
  width: 2.5rem;
  height: 2.5rem;
  color: #94a3b8;
}
.irb-cat-card.is-selected .irb-cat-icon { color: #B3261E; }
.irb-cat-icon svg { width: 100%; height: 100%; }
.irb-cat-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #475569;
}
.irb-cat-card.is-selected .irb-cat-label { color: #B3261E; }

/* Monogramme de secours quand aucun logo de marque n'est disponible
   (voir docs/README.md, section "Logos de marques"). */
.irb-brand-monogram {
  width: 2rem;
  height: 2rem;
  margin: 0 auto 0.5rem;
  border-radius: 9999px;
  background: #FBEAE9;
  color: #B3261E;
  font-weight: 700;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Champ de formulaire "épuré" : petit label discret au-dessus d'un input
   à bordure fine, dans l'esprit du design RepairPlugin. */
.irb-field-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin-bottom: 0.25rem;
}
