
/* ── Onglets principaux ──────────────────────────── */
.opp-tabs{display:flex;gap:0;border-bottom:2px solid var(--line);overflow-x:auto;flex-shrink:0}
.opp-tab{padding:.6rem .95rem;font:600 .78rem/1 'DM Sans',sans-serif;color:var(--soft);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap}
.opp-tab:hover{color:var(--ink)}
.opp-tab.active{color:var(--brand);border-bottom-color:var(--brand)}

/* ── Filtres secondaires ─────────────────────────── */
.sub-filters{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;padding:.5rem 0}

/* ── Cards ───────────────────────────────────────── */
.oc{background:var(--sur);border-radius:var(--radius);border:1px solid var(--line);border-left:3px solid var(--line);padding:.85rem 1rem;box-shadow:var(--sh);transition:box-shadow .15s,transform .15s}
.oc:hover{box-shadow:var(--sh2);transform:translateY(-1px)}
.oc__head{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.45rem}
.oc__icon{font-size:1.3rem;flex-shrink:0;padding-top:.05rem}
.oc__meta{flex:1;min-width:0}
.oc__title{font:600 .88rem/1.3 'Lora',serif;color:var(--ink);margin-bottom:.2rem}
.oc__info{font:400 .7rem/1 'DM Sans',sans-serif;color:var(--soft);display:flex;gap:.35rem;flex-wrap:wrap}
.oc__body{font:400 .78rem/1.55 'DM Sans',sans-serif;color:var(--muted);margin-bottom:.55rem}
.oc__footer{display:flex;align-items:center;justify-content:space-between;padding-top:.5rem;border-top:1px solid var(--line)}

/* Atelier / séjour card */
.oc.sejour{border-left-color:#f59e0b}
.oc.atelier{border-left-color:#8b5cf6}

/* Recrutement badge */
.rec-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .55rem;border-radius:20px;font:600 .6rem/1 'DM Sans',sans-serif}

/* Mentor card */
.mentor-card{background:var(--sur);border-radius:var(--radius);border:1px solid var(--line);padding:.9rem 1rem;box-shadow:var(--sh);display:flex;gap:.85rem;align-items:flex-start;transition:box-shadow .15s}
.mentor-card:hover{box-shadow:var(--sh2)}

/* Modal */
.mo{position:fixed;inset:0;background:rgba(11,18,32,.45);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .2s}
.mo.open{opacity:1;pointer-events:all}
.mow{background:var(--sur);border-radius:var(--radius);width:100%;max-width:500px;max-height:88vh;overflow-y:auto;box-shadow:var(--sh2);transform:translateY(12px);transition:transform .2s}
.mo.open .mow{transform:translateY(0)}
.moh{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--line)}
.mot{font:600 1rem/1 'Lora',serif;color:var(--ink)}
.moc{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--bg);font-size:1.1rem;color:var(--muted);cursor:pointer}
.mob{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.65rem}
.fi{display:flex;flex-direction:column;gap:.3rem}
.fl{font:600 .75rem/1 'DM Sans',sans-serif;color:var(--muted)}
.fin{padding:.55rem .75rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);font:.85rem/1 'DM Sans',sans-serif;color:var(--ink);background:var(--bg);outline:none;transition:border-color .2s}
.fin:focus{border-color:var(--b2);background:var(--sur)}
