/* ─── Arcademix LMS — Catalogue (Cours + Ateliers pratiques) ─────────────────
   Refonte fidèle à la maquette Catalogue_A — palette indigo #5b3ff5.
   Tout est scellé sous .alms-catalogue-app pour ne pas impacter le reste du site.
--------------------------------------------------------------------------- */
.alms-catalogue-app{
    --alms-ind:#5b3ff5;--alms-ind-dark:#4a2fd0;--alms-ind-50:#eef0fe;--alms-ind-100:#e6e5fd;
    --alms-ink:#0f172a;--alms-ink-2:#111827;--alms-muted:#6b7280;--alms-faint:#9ca3af;
    --alms-line:#e5e7eb;--alms-line-2:#eef0f4;--alms-star:#f59e0b;
    width:100%;color:var(--alms-ink);
}

/* ── En-tête ─────────────────────────────────────────────────────────────── */
.alms-catalogue-header{margin-bottom:20px;}
.alms-catalogue-header h1{font-size:2rem;font-weight:800;color:var(--alms-ink);margin:0 0 6px;letter-spacing:-.02em;}
.alms-catalogue-header p{font-size:.95rem;color:var(--alms-muted);margin:0;}

/* ── Onglets ─────────────────────────────────────────────────────────────── */
.alms-catalogue-tabs{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--alms-line);margin-bottom:22px;flex-wrap:wrap;}
.alms-catalogue-tab{display:inline-flex;align-items:center;gap:7px;padding:12px 2px;font-size:.9rem;font-weight:600;color:var(--alms-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s;}
.alms-catalogue-tab:hover{color:var(--alms-ind);}
.alms-catalogue-tab.is-active{color:var(--alms-ind);border-bottom-color:var(--alms-ind);}
.alms-catalogue-tab--locked{color:#b6bcc7;cursor:not-allowed;}
.alms-catalogue-tab--free{background:none;border:none;font-family:inherit;cursor:pointer;line-height:1.2;}
.alms-catalogue-tab--free.is-active{color:var(--alms-ind);border-bottom-color:var(--alms-ind);}

/* ── Barre recherche + tri ──────────────────────────────────────────────── */
.alms-catalogue-toolbar{display:flex;gap:14px;margin-bottom:14px;flex-wrap:wrap;}
.alms-catalogue-search{flex:1;min-width:260px;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--alms-line);border-radius:12px;padding:.7rem 1rem;color:var(--alms-faint);transition:border-color .15s,box-shadow .15s;}
.alms-catalogue-search:focus-within{border-color:var(--alms-ind);box-shadow:0 0 0 3px rgba(91,63,245,.12);}
.alms-catalogue-search input{flex:1;border:none;outline:none;font-size:.9rem;color:var(--alms-ink);background:transparent;}
.alms-catalogue-sort{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--alms-line);border-radius:12px;padding:.5rem 1rem;}
.alms-catalogue-sort label{font-size:.72rem;color:var(--alms-faint);white-space:nowrap;}
.alms-catalogue-sort select{border:none;outline:none;font-size:.86rem;font-weight:600;color:var(--alms-ink);background:transparent;cursor:pointer;}

/* ── Filtres ─────────────────────────────────────────────────────────────── */
.alms-catalogue-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.alms-catalogue-filters select{border:1.5px solid var(--alms-line);border-radius:10px;padding:.55rem .9rem;font-size:.83rem;color:var(--alms-gray-700,#374151);background:#fff;cursor:pointer;transition:border-color .15s;}
.alms-catalogue-filters select:hover{border-color:#cfd3da;}
.alms-catalogue-reset{border:none;background:none;color:var(--alms-muted);font-size:.83rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;margin-left:auto;}
.alms-catalogue-reset:hover{color:var(--alms-ind);}

/* ── Sections ────────────────────────────────────────────────────────────── */
.alms-catalogue-section{margin-bottom:44px;}
.alms-catalogue-section__head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-bottom:16px;}
.alms-catalogue-section__head h2{font-size:1.15rem;font-weight:800;color:var(--alms-ink);margin:0;display:flex;align-items:center;gap:9px;letter-spacing:-.01em;}
.alms-section-icon{display:inline-flex;color:var(--alms-ind);}
.alms-catalogue-section__desc{font-size:.86rem;color:var(--alms-faint);margin:0;flex-basis:100%;order:3;}
.alms-catalogue-seeall{margin-left:auto;font-size:.85rem;font-weight:700;color:var(--alms-ind);text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.alms-catalogue-seeall:hover{color:var(--alms-ind-dark);}
.alms-pill-free{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#059669;background:#d1fae5;padding:3px 9px;border-radius:999px;}

/* ── Grilles ─────────────────────────────────────────────────────────────── */
.alms-catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;}
.alms-catalogue-grid--workshops{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));}

/* ── Carte cours (fidèle maquette) ───────────────────────────────────────── */
.alms-catalogue-app .alms-course-card{position:relative;background:#fff;border:1px solid var(--alms-line-2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(17,24,39,.05);transition:transform .18s,box-shadow .18s;}
.alms-catalogue-app .alms-course-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(17,24,39,.13);}
.alms-catalogue-app .alms-course-card__link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1;}
.alms-catalogue-app .alms-course-card__thumb{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(135deg,#312e81,#4338ca);}
.alms-catalogue-app .alms-course-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.alms-catalogue-app .alms-course-card__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.6rem;color:rgba(255,255,255,.55);}

.alms-card-badge{position:absolute;top:11px;left:11px;padding:.28rem .6rem;border-radius:7px;font-size:.68rem;font-weight:800;letter-spacing:.02em;color:#fff;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.18);}
.alms-card-badge--bestseller{background:#f59e0b;color:#3d2a00;}
.alms-card-badge--new{background:#10b981;}
.alms-card-badge--popular{background:#111827;}
.alms-card-badge--free{background:#059669;}
.alms-card-badge--featured{background:#f59e0b;color:#3d2a00;}

.alms-card-fav{position:absolute;top:9px;right:9px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:#6b7280;font-size:1.05rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.12);transition:color .15s,transform .15s;}
.alms-card-fav:hover{color:#ef4444;transform:scale(1.08);}
.alms-card-fav.is-active{color:#ef4444;}
.alms-card-fav--dark{background:rgba(17,24,39,.5);color:#fff;}
.alms-card-fav--dark:hover{color:#fda4af;}

.alms-catalogue-app .alms-course-card__body{padding:.95rem 1.05rem 1.05rem;display:flex;flex-direction:column;flex:1;gap:.42rem;}
.alms-catalogue-app .alms-course-card__title{font-size:1rem;font-weight:800;color:var(--alms-ink);margin:0;line-height:1.32;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.alms-catalogue-app .alms-course-card__excerpt{font-size:.82rem;color:var(--alms-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.alms-course-card__levelrow{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--alms-muted);font-weight:600;}
.alms-course-card__levelrow svg{color:var(--alms-faint);}

/* note (étoiles) */
.alms-card-rating{display:flex;align-items:center;gap:8px;font-size:.8rem;margin-top:.1rem;}
.alms-card-rating__score{font-weight:800;color:#111827;}
.alms-card-rating__stars{color:var(--alms-star);letter-spacing:1px;font-size:.82rem;}
.alms-card-rating__count{color:var(--alms-faint);}
.alms-card-rating__dur{margin-left:auto;color:var(--alms-muted);font-weight:600;}

.alms-catalogue-app .alms-course-card__footer{margin-top:auto;padding:.4rem 0 0;border:none;display:flex;align-items:center;justify-content:space-between;gap:.6rem;}
.alms-catalogue-app .alms-course-card__price{font-size:1.15rem;font-weight:800;color:var(--alms-ind);letter-spacing:-.01em;}
.alms-catalogue-app .alms-course-card__price--free{color:#059669;}
.alms-catalogue-app .alms-course-card__students{font-size:.76rem;color:var(--alms-faint);}
/* CTA discret (fidélité maquette : la carte entière est cliquable, CTA léger) */
.alms-catalogue-app .alms-card-cta{padding:.5rem .9rem;background:var(--alms-ind);color:#fff;border:none;border-radius:9px;font-size:.8rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;}
.alms-catalogue-app .alms-card-cta:hover{background:var(--alms-ind-dark);color:#fff;}
.alms-catalogue-app .alms-card-cta--free{background:#059669;}
.alms-catalogue-app .alms-card-cta--free:hover{background:#047857;}
.alms-catalogue-app .alms-card-cta--enrolled{background:#2563eb;}

/* ── Cartes ateliers pratiques ───────────────────────────────────────────── */
.alms-workshop-card{background:#fff;border:1px solid var(--alms-line-2);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(17,24,39,.05);transition:transform .18s,box-shadow .18s;}
.alms-workshop-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(17,24,39,.13);}
.alms-workshop-card__link{text-decoration:none;color:inherit;display:block;}
.alms-workshop-card__thumb{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#1f2937,#111827);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.alms-workshop-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.alms-workshop-card__play{font-size:1.7rem;color:rgba(255,255,255,.7);}
.alms-workshop-card__duration-badge{position:absolute;top:10px;left:10px;background:rgba(17,24,39,.72);color:#fff;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:20px;z-index:2;}
.alms-workshop-card__body{padding:.9rem 1rem 1rem;}
.alms-workshop-card__body h3{font-size:.93rem;font-weight:800;color:var(--alms-ink);margin:0 0 6px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.alms-workshop-card__body p{font-size:.78rem;color:var(--alms-muted);margin:0 0 10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.alms-workshop-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.alms-workshop-card__tool{display:inline-block;font-size:.7rem;font-weight:700;color:var(--alms-ind);background:var(--alms-ind-50);padding:3px 10px;border-radius:14px;}
.alms-workshop-card__free{font-size:.82rem;font-weight:800;color:#059669;}

/* ── Bandeau bas « pourquoi » (3 tuiles) ─────────────────────────────────── */
.alms-catalogue-why{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;background:#f7f7fc;border:1px solid var(--alms-line-2);border-radius:18px;padding:1.6rem 1.8rem;margin-top:8px;}
.alms-why-item{display:flex;gap:14px;align-items:flex-start;}
.alms-why-item__icon{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--alms-ind-50);color:var(--alms-ind);display:flex;align-items:center;justify-content:center;}
.alms-why-item h4{font-size:.92rem;font-weight:800;color:var(--alms-ink);margin:0 0 4px;}
.alms-why-item p{font-size:.8rem;color:var(--alms-muted);margin:0;line-height:1.5;}

/* ── État vide ───────────────────────────────────────────────────────────── */
.alms-catalogue-empty{background:#fff;border:1px solid var(--alms-line-2);border-radius:18px;padding:54px 30px;text-align:center;}
.alms-catalogue-empty__icon{font-size:2.6rem;margin-bottom:14px;opacity:.55;}
.alms-catalogue-empty h3{font-size:1.1rem;font-weight:800;color:var(--alms-ink);margin:0 0 10px;}
.alms-catalogue-empty p{font-size:.86rem;color:var(--alms-faint);max-width:480px;margin:0 auto;line-height:1.6;}

/* ── Masquage cartes filtrées ────────────────────────────────────────────── */
.alms-course-card.is-hidden,.alms-workshop-card.is-hidden{display:none !important;}

@media (max-width: 900px){
    .alms-catalogue-why{grid-template-columns:1fr;gap:1rem;}
}
@media (max-width: 600px){
    .alms-catalogue-toolbar{flex-direction:column;}
    .alms-catalogue-header h1{font-size:1.6rem;}
}

/* ── Overrides thème (Astra force selects/inputs en pleine largeur) ──────── */
.alms-catalogue-app select{width:auto;max-width:100%;display:inline-block;}
.alms-catalogue-app .alms-catalogue-search{flex:1;min-width:240px;}
.alms-catalogue-app .alms-catalogue-search input{width:100%;margin:0;}
.alms-catalogue-app .alms-catalogue-sort select{min-width:0;}
.alms-catalogue-filters select{flex:0 0 auto;min-width:150px;margin:0;}
.alms-catalogue-app .alms-catalogue-toolbar,.alms-catalogue-app .alms-catalogue-filters{align-items:center;}
