/* ── Breadcrumb ─────────────────────────────────────────────────────────── */
.breadcrumb-custom {
    background: rgba(255,255,255,.15); backdrop-filter: blur(10px);
    border-radius: 50px; padding: .75rem 1.5rem;
    display: inline-flex; align-items: center;
    box-shadow: 0 4px 15px rgba(0,0,0,.1);
}
.breadcrumb-custom .breadcrumb-item { display: flex; align-items: center; }
.breadcrumb-custom .breadcrumb-item + .breadcrumb-item::before {
    content: "›"; color: rgba(255,255,255,.7); font-size: 1.5rem;
    font-weight: bold; padding: 0 .75rem; line-height: 1;
}
.breadcrumb-link {
    color: rgba(255,255,255,.9) !important; text-decoration: none;
    padding: .5rem 1rem; border-radius: 25px; transition: all .3s;
    display: inline-flex; align-items: center; font-weight: 500; font-size: .95rem;
}
.breadcrumb-link:hover {
    background: rgba(255,255,255,.25); color: #fff !important;
    transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
.breadcrumb-link i, .breadcrumb-active i { font-size: 1rem; margin-right: .35rem; }
.breadcrumb-active {
    color: #fff !important; background: rgba(255,255,255,.25);
    padding: .5rem 1rem; border-radius: 25px;
    display: inline-flex; align-items: center; font-weight: 600; font-size: .95rem;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
}

/* ── Stats hero ─────────────────────────────────────────────────────────── */
.stat-item-card {
    background: rgba(255,255,255,.15); backdrop-filter: blur(10px);
    border: 2px solid rgba(255,255,255,.2); border-radius: 15px;
    padding: 1rem 1.5rem; display: flex; align-items: center; gap: 1rem;
    transition: all .3s; box-shadow: 0 4px 15px rgba(0,0,0,.1); min-width: 140px;
}
.stat-item-card:hover {
    background: rgba(255,255,255,.25); transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,.15); border-color: rgba(255,255,255,.3);
}
.stat-item-icon {
    width: 48px; height: 48px; background: rgba(255,255,255,.2);
    border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.stat-item-icon i { font-size: 1.5rem; color: white; }
.stat-item-number { font-size: 1.75rem; font-weight: 700; color: white; line-height: 1.2; margin-bottom: .25rem; }
.stat-item-label  { font-size: .875rem; color: rgba(255,255,255,.9); font-weight: 500; }

/* ── Cartes ─────────────────────────────────────────────────────────────── */
.card-hover { transition: transform .25s, box-shadow .25s; }
.card-hover:hover { transform: translateY(-10px); box-shadow: 0 10px 30px rgba(0,0,0,.15) !important; }
.exercise-card { transition: transform .25s, box-shadow .25s; }
.exercise-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,.15) !important; }

/* ── Héro image ─────────────────────────────────────────────────────────── */
.classe-hero--with-image { min-height: 320px; }
.classe-hero__img-wrap {
    display: inline-block; background: #fff;
    padding: 1rem 1.25rem; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,.15);
}
.classe-hero__img { border: 3px solid rgba(255,255,255,.4); }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .breadcrumb-custom { padding: .5rem 1rem; flex-wrap: wrap; justify-content: center; }
    .breadcrumb-link, .breadcrumb-active { font-size: .85rem; padding: .4rem .8rem; }
    .breadcrumb-custom .breadcrumb-item + .breadcrumb-item::before { padding: 0 .5rem; font-size: 1.2rem; }
    .stat-item-card { padding: .75rem 1.25rem; min-width: auto; flex: 1; }
    .stat-item-icon { width: 40px; height: 40px; }
    .stat-item-icon i { font-size: 1.25rem; }
    .stat-item-number { font-size: 1.5rem; }
}

/* ── Dégradé bouton (classe globale du projet) ──────────────────────────── */
.bg-gradient-primary { background: linear-gradient(135deg, #FF6B35 0%, #2E5EAA 100%); }
