/* ================================================================
   BIOSTART — components.css
   Catalogue visuel : boutons, icônes, images & badges
   À lier APRÈS biostart.css :
     <link rel="stylesheet" href="biostart.css">
     <link rel="stylesheet" href="components.css">
   ================================================================ */


/* ================================================================
   1. BOUTONS
   Classe de base : .btn  (déjà dans biostart.css)
   Variantes      : .btn--primary  .btn--secondary  .btn--white
                    + nouvelles variantes ci-dessous
   ================================================================

   UTILISÉ DANS VOS FICHIERS
   ─────────────────────────
   .btn.btn--primary     → CTA principaux (hero, sections)
   .btn.btn--secondary   → lien "Contact" dans le header
   .btn.btn--white       → CTA sur fond bleu foncé (techno-teaser)

   USAGE HTML
   ──────────
   <a href="technologie.html" class="btn btn--primary">
     Découvrir notre technologie
   </a>

   <a href="contact.html" class="btn btn--secondary"
      style="padding:8px 18px;font-size:13px;">Contact</a>

   <a href="technologie.html" class="btn btn--white">
     Découvrir →
   </a>
   ================================================================ */

/* ── Rappel des variantes existantes (ne pas modifier ici) ──────
   .btn--primary   : fond bleu clair  (#008AC1) → survol bleu foncé
   .btn--secondary : contour bleu clair, fond transparent
   .btn--white     : fond blanc → survol gris clair
   ──────────────────────────────────────────────────────────────── */

/* ── Nouvelle variante : bouton vert ────────────────────────────
   Usage : actions environnementales, CTA secondaires verts        */
.btn--green {
  background: var(--color-primary-green-dark);
  color: #fff;
  border-color: var(--color-primary-green-dark);
}
.btn--green:hover {
  background: #004d26;
  border-color: #004d26;
  text-decoration: none;
  color: #fff;
}

/* ── Nouvelle variante : bouton jaune (accent) ──────────────────
   Usage : CTA fort sur fond sombre, urgence, mise en avant        */
.btn--yellow {
  background: var(--color-primary-yellow);
  color: var(--color-primary-blue-dark);
  border-color: var(--color-primary-yellow);
  font-weight: var(--font-weight-bold);
}
.btn--yellow:hover {
  background: #b8cc0d;
  border-color: #b8cc0d;
  text-decoration: none;
  color: var(--color-primary-blue-dark);
}

/* ── Contour blanc (sur fonds sombres) ──────────────────────────
   Usage : sections .techno-teaser, .location-section             */
.btn--outline-white {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.5);
}
.btn--outline-white:hover {
  background: rgba(255,255,255,0.1);
  border-color: #fff;
  text-decoration: none;
  color: #fff;
}

/* ── Tailles supplémentaires ────────────────────────────────────
   .btn--sm  : header nav, badges, actions compactes
   .btn--lg  : hero principal, CTA section finale                  */
.btn--sm {
  padding: 8px 18px;
  font-size: var(--font-size-sm);
}
.btn--lg {
  padding: 16px 40px;
  font-size: var(--font-size-lg);
}

/* ── Bouton pleine largeur ──────────────────────────────────────
   Usage : formulaire contact (.submit-btn)                        */
.btn--full {
  width: 100%;
  justify-content: center;
}

/* ── Bouton désactivé ───────────────────────────────────────────  */
.btn:disabled,
.btn[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}


/* ================================================================
   2. ICONES (SVG inline)
   Format utilisé dans vos fichiers : <svg> directement dans
   des conteneurs .bref-card__icon, .contact-card__icon,
   .feature-pill__icon, .card__icon
   ================================================================

   CONTENEURS D'ICONES EXISTANTS
   ──────────────────────────────
   .bref-card__icon--blue    → fond bleu clair  rgba(0,138,193,0.1)
   .bref-card__icon--green   → fond vert clair  rgba(0,101,50,0.1)
   .bref-card__icon--yellow  → fond jaune clair rgba(206,226,16,0.18)
   .contact-card__icon--blue / --green / --yellow  (mêmes couleurs)
   .feature-pill__icon       → fond rgba(255,255,255,0.1) sur sombre

   USAGE HTML (icône dans une carte)
   ──────────────────────────────────
   <div class="bref-card__icon bref-card__icon--blue">
     <svg width="24" height="24" viewBox="0 0 24 24"
          fill="none" stroke="currentColor" stroke-width="2">
       <!-- chemin SVG ici -->
     </svg>
   </div>

   Pour remplacer une icône : changez uniquement le contenu SVG
   entre les balises <svg>...</svg>, gardez les attributs identiques.
   ================================================================ */

/* ── Tailles standard des SVG dans vos icônes ──────────────────
   Vos fichiers utilisent width="24" height="24" partout.
   Pour agrandir ponctuellement, surchargez ici :               */
.icon--sm svg  { width: 18px; height: 18px; }
.icon--md svg  { width: 24px; height: 24px; } /* défaut actuel */
.icon--lg svg  { width: 32px; height: 32px; }
.icon--xl svg  { width: 48px; height: 48px; }

/* ── Icône autonome (sans conteneur carte) ──────────────────────
   Usage : listes, titres, inline                                 */
.icon-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  color: currentColor;
  flex-shrink: 0;
}

/* ── Icône dans un cercle coloré (style .ref-item__num) ─────────
   Existant dans bibliographie.html, réutilisable partout        */
.icon-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
}
.icon-circle--blue   { background: var(--color-primary-blue-dark);  color: #fff; }
.icon-circle--light  { background: var(--color-primary-blue-light); color: #fff; }
.icon-circle--green  { background: var(--color-primary-green-dark); color: #fff; }
.icon-circle--yellow { background: var(--color-primary-yellow);     color: var(--color-primary-blue-dark); }

/* ── Couleurs d'icône utilitaires ───────────────────────────────
   Appliquées sur le SVG via color: currentColor               */
.icon-blue   { color: var(--color-primary-blue-light); }
.icon-green  { color: var(--color-primary-green-dark); }
.icon-yellow { color: var(--color-primary-yellow); }
.icon-white  { color: #fff; }
.icon-muted  { color: var(--color-neutral-mid); }


/* ================================================================
   3. IMAGES
   Vos fichiers utilisent principalement des SVG inline.
   Ces classes s'appliquent aux <img> et <figure> quand vous
   ajouterez de vraies photos (équipe, labo, site Genopole...)
   ================================================================

   USAGE HTML
   ──────────
   <!-- Photo d'équipe ronde -->
   <img src="equipe/jean.jpg" alt="Jean Dupont"
        class="img img--circle img--shadow" style="width:80px;">

   <!-- Image de carte avec ratio fixe -->
   <img src="labo.jpg" alt="Laboratoire"
        class="img img--card">

   <!-- Photo avec légende -->
   <figure class="img-figure">
     <img src="genopole.jpg" alt="Genopole Evry" class="img img--rounded">
     <figcaption>Vue aérienne du Genopole, Évry</figcaption>
   </figure>
   ================================================================ */

/* ── Base ───────────────────────────────────────────────────────  */
.img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ── Formes ─────────────────────────────────────────────────────  */
.img--circle  { border-radius: 50%;              object-fit: cover; }
.img--rounded { border-radius: var(--radius-lg); object-fit: cover; }
.img--square  { border-radius: var(--radius-md); object-fit: cover; aspect-ratio: 1; }

/* ── Ratio fixe carte ───────────────────────────────────────────  */
.img--card {
  width:  100%;
  height: 220px;
  object-fit: cover;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  display: block;
}

/* ── Logo partenaire avec vraie image ───────────────────────────
   (complète les .partner-logo texte existants)                  */
.img--logo {
  height: 40px;
  width:  auto;
  object-fit: contain;
  filter: grayscale(1) opacity(0.6);
  transition: filter 0.2s;
}
.img--logo:hover { filter: none; }

/* ── Ombres ─────────────────────────────────────────────────────  */
.img--shadow-sm { box-shadow: var(--shadow-light);  }
.img--shadow    { box-shadow: var(--shadow-medium); }
.img--shadow-lg { box-shadow: var(--shadow-strong); }

/* ── Bordures colorées ──────────────────────────────────────────  */
.img--border-blue  { border: 3px solid var(--color-primary-blue-dark);  }
.img--border-green { border: 3px solid var(--color-primary-green-dark); }

/* ── Figure avec légende ────────────────────────────────────────  */
.img-figure { margin: 0; }
.img-figure figcaption {
  font-size:  var(--font-size-xs);
  color:      var(--color-neutral-mid);
  margin-top: 8px;
  text-align: center;
  font-style: italic;
}

/* ── Placeholder image absente ─────────────────────────────────
   <div class="img-placeholder" style="height:200px;">
     Photo à venir
   </div>                                                         */
.img-placeholder {
  background:      var(--color-neutral-light);
  border:          2px dashed var(--color-neutral-mid);
  border-radius:   var(--radius-lg);
  display:         flex;
  align-items:     center;
  justify-content: center;
  color:           var(--color-neutral-mid);
  font-size:       var(--font-size-sm);
  font-style:      italic;
  min-height:      150px;
}


/* ================================================================
   4. BADGES
   Existants dans biostart.css : .badge--green / --blue / --yellow
   Complétés ici avec variantes supplémentaires
   ================================================================

   UTILISES DANS VOS FICHIERS
   ──────────────────────────
   <div class="badge badge--green">Innovation</div>
   <div class="badge badge--blue">Bibliographie</div>
   <div class="badge badge--yellow">Localisation</div>
   ================================================================ */

/* ── Rappel des badges existants (ne pas modifier) ──────────────
   .badge--green  : fond vert clair,  texte vert foncé
   .badge--blue   : fond bleu clair,  texte bleu light
   .badge--yellow : fond jaune clair, texte kaki
   ──────────────────────────────────────────────────────────────── */

/* ── Badge blanc (sur fonds sombres) ───────────────────────────
   Usage : sections .polymer-section, .page-hero               */
.badge--white {
  background: rgba(255,255,255,0.12);
  color:      rgba(255,255,255,0.9);
  border:     1px solid rgba(255,255,255,0.2);
}

/* ── Badge avec point animé ─────────────────────────────────────
   Usage : indiquer une activité en cours, statut live          */
.badge--live {
  background: rgba(86,191,53,0.12);
  color:      var(--color-primary-green-dark);
}
.badge--live::before {
  content: '';
  display:       inline-block;
  width:         7px;
  height:        7px;
  border-radius: 50%;
  background:    var(--color-primary-green-light);
  animation:     pulse-dot 1.8s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1;   transform: scale(1);   }
  50%       { opacity: 0.5; transform: scale(1.3); }
}


/* ================================================================
   ╔══════════════════════════════════════════════════════════════╗
   ║   ZONE DE REMPLACEMENT / AJOUT — COLLEZ VOS REGLES ICI      ║
   ║                                                              ║
   ║  Ce bloc est lu EN DERNIER : vos règles écrasent tout ce     ║
   ║  qui précède sans rien casser.                               ║
   ║                                                              ║
   ║  EXEMPLES D'USAGE                                            ║
   ║  ────────────────                                            ║
   ║  • Changer la couleur du bouton primaire :                   ║
   ║      .btn--primary { background: #nouvelle; }               ║
   ║                                                              ║
   ║  • Arrondir davantage les boutons :                          ║
   ║      .btn { border-radius: 999px; }                          ║
   ║                                                              ║
   ║  • Supprimer l'ombre au survol :                             ║
   ║      .btn:hover { box-shadow: none; }                        ║
   ║                                                              ║
   ║  • Changer la taille du bouton Contact header :              ║
   ║      .header__nav .btn--secondary { padding: 6px 14px; }    ║
   ║                                                              ║
   ║  • Remplacer une icône : modifiez le SVG dans le HTML        ║
   ║    (gardez width/height/viewBox, changez le <path>)          ║
   ║                                                              ║
   ║  • Agrandir les icônes des .bref-card :                      ║
   ║      .bref-card__icon { width: 60px; height: 60px; }        ║
   ║                                                              ║
   ║  • Changer le style de toutes les images de carte :          ║
   ║      .img--card { height: 180px; border-radius: 0; }        ║
   ║                                                              ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* ↓↓↓  COLLEZ / ÉCRIVEZ VOS SURCHARGES CI-DESSOUS  ↓↓↓ */



/* ↑↑↑  FIN DE LA ZONE DE SURCHARGE  ↑↑↑ */
