/* ── Recrutement impro ── */

/* Honeypot anti-spam : invisible à l'écran, présent dans le DOM */
.ic-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Carte centrée : formulaire de dépôt + single */
.ic-recrut-card-form {
    max-width: 640px;
    margin: 0 auto;
    overflow-anchor: none;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    padding: 1.75rem 1.75rem 2rem;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .06);
}

/* Formulaires (dépôt + candidature) */
.ic-recrut-form label,
.ic-recrut-apply label {
    display: block;
    margin: .9rem 0 0;
    font-weight: 600;
}
.ic-recrut-form input,
.ic-recrut-form select,
.ic-recrut-form textarea,
.ic-recrut-apply input,
.ic-recrut-apply textarea {
    width: 100%;
    display: block;
    margin-top: .3rem;
    padding: .55rem .6rem;
    border: 1px solid #cfcfcf;
    border-radius: 8px;
    font: inherit;
}
.ic-recrut-form textarea,
.ic-recrut-apply textarea { resize: vertical; }
.ic-recrut-form .ic-check {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-weight: 400;
    margin: 1.1rem 0;
}
.ic-recrut-form .ic-check input { width: auto; display: inline; margin: 0; }
.ic-recrut-niveaux { border: 1px solid #e0e0e0; border-radius: 8px; padding: .6rem .8rem; margin: .9rem 0; }
.ic-recrut-niveaux legend { font-weight: 600; padding: 0 .35rem; }
.ic-recrut-niveaux .ic-check { margin: .3rem 0; }
.ic-recrut-form button[type="submit"],
.ic-recrut-apply button[type="submit"] { margin-top: 1.4rem; }
.ic-recrut-apply { margin-top: 1.5rem; border-top: 1px solid #eee; padding-top: .5rem; }

/* Single : méta + description */
.ic-recrut-meta { list-style: none; padding: 0; margin: 0 0 1rem; color: #444; }
.ic-recrut-meta li { margin: .25rem 0; }
.ic-recrut-desc { margin-bottom: 1rem; }

/* Liens saisis dans la description : ils doivent se voir dans un bloc de texte */
.ic-recrut-desc a {
    color: var(--ic-red);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
}
.ic-recrut-desc a:hover { background: #fdeceb; }

/* Lien externe de l'annonce (Insta, démo, formulaire…) : simple bouton CTA */
.ic-recrut-lienbox { margin: 0 0 1.2rem; }
.is-cloturee .ic-recrut-card-form { opacity: .65; }
.ic-badge-cloturee {
    display: inline-block;
    background: #8a8a8a;
    color: #fff;
    padding: .2rem .6rem;
    border-radius: 6px;
    font-size: .85rem;
    margin-bottom: .6rem;
}
.ic-recrut-contact { margin-top: 1.5rem; border-top: 1px solid #eee; padding-top: 1rem; }

/* Archive : barre d'outils (dépôt + filtres) */
.ic-recrut-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 1.75rem;
}
.ic-recrut-filters {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    align-items: center;
}
.ic-recrut-filters select {
    padding: .45rem .55rem;
    border: 1px solid #cfcfcf;
    border-radius: 8px;
    font: inherit;
}

/* Grille de cartes */
.ic-recrut-list {
    list-style: none;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    padding: 0;
    margin: 0;
}
.ic-recrut-card {
    border: 1px solid #e7e1d5;
    border-radius: 14px;
    padding: 0;
    background: #fff;
    overflow: hidden;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.ic-recrut-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .09);
    transform: translateY(-2px);
    border-color: #d8cfbf;
}
/* Cartes simples (ex. « Mes annonces », qui ne sont pas des .ic-rc) */
.ic-recrut-card:not(.ic-rc) { padding: 1rem 1.15rem; }
.ic-recrut-card:not(.ic-rc) h3 { margin: 0 0 .35rem; font-size: 1rem; }
.ic-recrut-card:not(.ic-rc) h3 a { text-decoration: none; color: inherit; }

/* ── Carte d'annonce (ic-rc) ── */
.ic-rc__link { display: block; padding: 1rem 1.15rem 1.1rem; color: inherit; text-decoration: none; }
.ic-rc__top { display: flex; align-items: center; gap: 12px; margin-bottom: 11px; }
.ic-rc__mono {
    width: 44px; height: 44px; border-radius: 12px; flex: none;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 1.15rem;
}
.ic-rc__head { min-width: 0; flex: 1; }
.ic-rc__badge {
    display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .01em;
    padding: 3px 9px; border-radius: 999px; margin-bottom: 5px;
}
.ic-rc__name {
    display: block; font-size: 1.05rem; font-weight: 800; line-height: 1.2; color: #211c17;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ic-rc__loc { display: flex; align-items: center; gap: 5px; color: #7c7266; font-size: .9rem; margin: 0 0 11px; }
.ic-rc__ico { flex: none; }
.ic-rc__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ic-rc__chip {
    font-size: .78rem; padding: 3px 10px; border-radius: 8px;
    background: #f2efe7; color: #5f574b; border: 1px solid #e7e1d5;
}
.ic-rc__chip--pay { background: #e8f2e8; color: #3b6d3b; border-color: #dbe9db; }
.ic-rc__foot {
    display: flex; align-items: center; gap: 6px; color: #9a6a2b; font-size: .82rem;
    margin: .8rem 0 0; padding-top: .7rem; border-top: 1px solid #efe9dd;
}
.ic-rc__foot.is-urgent { color: #b33032; font-weight: 600; }

/* Teintes pastel par type : deux variables, consommées par la carte et par la fiche */
.ic-rc--atelier,    .ic-recrut-single--atelier    { --ic-rc-bg: #dcefe3; --ic-rc-fg: #2f6a48; }
.ic-rc--casting,    .ic-recrut-single--casting    { --ic-rc-bg: #f3ded9; --ic-rc-fg: #97403c; }
.ic-rc--troupe,     .ic-recrut-single--troupe     { --ic-rc-bg: #dde8f4; --ic-rc-fg: #3a5a82; }
.ic-rc--coach,      .ic-recrut-single--coach      { --ic-rc-bg: #e7dff5; --ic-rc-fg: #574a92; }
.ic-rc--remp,       .ic-recrut-single--remp       { --ic-rc-bg: #f3e9d6; --ic-rc-fg: #7a5a2c; }
.ic-rc--projet,     .ic-recrut-single--projet     { --ic-rc-bg: #dbeeea; --ic-rc-fg: #2f6a62; }
.ic-rc--neutre,     .ic-recrut-single--neutre     { --ic-rc-bg: #e9e3d8; --ic-rc-fg: #5f5749; }
.ic-rc--stage,      .ic-recrut-single--stage      { --ic-rc-bg: #f4e7cf; --ic-rc-fg: #7d5a1f; }
.ic-rc--entreprise, .ic-recrut-single--entreprise { --ic-rc-bg: #dfe6ec; --ic-rc-fg: #40566b; }
.ic-rc--scolaire,   .ic-recrut-single--scolaire   { --ic-rc-bg: #f7e2dd; --ic-rc-fg: #9a5044; }

/* Repli sur « neutre » si aucune famille n'est posée */
.ic-rc__mono, .ic-rc__badge { background: var(--ic-rc-bg, #e9e3d8); color: var(--ic-rc-fg, #5f5749); }

/* Messages */
.ic-ok  { color: #2d6a4f; font-weight: 600; }
.ic-err { color: #b33032; font-weight: 600; }
.ic-note { color: #555; font-style: italic; margin-bottom: 1rem; }

/* Sélecteur de sens (reste visible, l'actif est surligné) */
.ic-recrut-choice { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.ic-recrut-choice__btn {
    flex: 1 1 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .25rem;
    padding: 1rem 1.2rem;
    border: 2px solid #b33032;
    border-radius: 12px;
    background: #fff;
    color: #b33032;
    font: inherit;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.ic-recrut-choice__btn span { font-weight: 400; font-size: .85rem; opacity: .8; }
.ic-recrut-choice__btn:hover { box-shadow: 0 3px 12px rgba(179, 48, 50, .15); }
.ic-recrut-choice__btn.is-active { background: #b33032; color: #fff; border-color: #b33032; }
.ic-recrut-choice__btn.is-active span { opacity: .9; }

/* Toggle Liste / Carte */
.ic-recrut-viewtoggle { display: inline-flex; border: 1px solid #cfcfcf; border-radius: 8px; overflow: hidden; margin: 0 0 1.25rem; }
.ic-recrut-viewtoggle button { border: 0; background: #fff; color: #555; padding: .45rem 1rem; font: inherit; cursor: pointer; }
.ic-recrut-viewtoggle button + button { border-left: 1px solid #cfcfcf; }
.ic-recrut-viewtoggle button.is-active { background: #b33032; color: #fff; }

/* Carte */
.ic-recrut-map { height: 480px; border-radius: 12px; overflow: hidden; }
.ic-recrut-map__empty { padding: 2rem; text-align: center; color: #777; }

/* Onglets d'archive */
.ic-recrut-tabs { display: flex; gap: .5rem; border-bottom: 1px solid #e5e5e5; margin-bottom: 1.25rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ic-recrut-tabs::-webkit-scrollbar { display: none; }
.ic-recrut-tabs a { padding: .6rem 1rem; text-decoration: none; color: #555; border-bottom: 3px solid transparent; white-space: nowrap; }
.ic-recrut-tabs a.is-active { color: #b33032; border-bottom-color: #b33032; font-weight: 600; }
.ic-recrut-filters .ic-check { display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; font-size: .95rem; }

/* Mes annonces (profil) */
.ic-mes-annonces { margin-bottom: 2rem; }
.ic-mes-annonces__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.ic-mes-annonces__head h2 { margin: 0; }
.ic-mes-annonces__actions { display: flex; gap: .5rem; align-items: center; margin-top: .5rem; }

/* Petites annonces sur la fiche compagnie */
.ic-troupe-annonces { margin: 2rem 0; }
.ic-troupe-annonces__title { margin: 0 0 1rem; }

/* ── Pont annonce ↔ fiche compagnie ── */

/* Badge de carte : signal de confiance, jamais cliquable */
.ic-rc__fiche {
    display: inline-block; margin-top: 4px;
    font-size: .72rem; font-weight: 700;
    padding: 2px 8px; border-radius: 999px;
    background: #e8f2e8; color: #3b6d3b; border: 1px solid #dbe9db;
}

/* Bloc « Publiée par » sur la fiche annonce */
.ic-recrut-publiepar {
    margin: 1.5rem 0; padding: 1rem 1.15rem;
    border: 1px solid #e7e1d5; border-radius: 12px; background: #faf8f3;
}
.ic-recrut-publiepar__label {
    margin: 0 0 .6rem; font-size: .78rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em; color: #7c7266;
}
.ic-recrut-publiepar__head { display: flex; align-items: center; gap: .8rem; margin-bottom: .8rem; }
.ic-recrut-publiepar__logo {
    width: 52px; height: 52px; flex: none;
    border-radius: 10px; object-fit: cover;
}
.ic-recrut-publiepar__mono {
    width: 52px; height: 52px; flex: none;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px; background: #e9e3d8; color: #5f5749;
    font-size: 1.4rem; font-weight: 800;
}
.ic-recrut-publiepar__nom {
    display: block; font-size: 1.05rem; font-weight: 800;
    color: #211c17; text-decoration: none;
}
.ic-recrut-publiepar__nom:hover { text-decoration: underline; }
.ic-recrut-publiepar__ville { font-size: .9rem; color: #7c7266; }
.ic-recrut-publiepar__atelier {
    margin: 0 0 .9rem; padding: .6rem .75rem;
    border-radius: 8px; background: #eef4fb; color: #3a5a82; font-size: .92rem;
}

/* Encart d'incitation après publication */
.ic-recrut-incitation {
    margin: 1rem 0 1.5rem; padding: 1.1rem 1.25rem;
    border: 1px solid #e7e1d5; border-left: 4px solid #B33032;
    border-radius: 12px; background: #faf8f3;
}
.ic-recrut-incitation__title { margin: 0 0 .4rem; font-size: 1.05rem; font-weight: 800; color: #211c17; }
.ic-recrut-incitation p { margin: 0 0 .7rem; }

/* Bandeau et sélecteur du formulaire de dépôt */
.ic-recrut-fiche-lien,
.ic-recrut-atelier-pick {
    margin: .9rem 0; padding: .7rem .85rem;
    border: 1px solid #e7e1d5; border-radius: 10px; background: #faf8f3;
}
.ic-recrut-fiche-lien .ic-form-hint,
.ic-recrut-atelier-pick .ic-form-hint {
    margin: .35rem 0 0; font-size: .85rem; color: #7c7266;
}

/* Mur de connexion sur la page de dépôt */
.ic-recrut-wall {
    padding: 1.4rem 1.5rem;
    border: 1px solid #e7e1d5; border-left: 4px solid #B33032;
    border-radius: 12px; background: #faf8f3;
}
.ic-recrut-wall__title { margin: 0 0 .5rem; font-size: 1.15rem; font-weight: 800; color: #211c17; }
.ic-recrut-wall p { margin: 0 0 .8rem; }
.ic-recrut-wall__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 .8rem; }

/* Sens indisponible pour le type de compte courant */
.ic-recrut-choice__btn[disabled] { opacity: .45; cursor: not-allowed; }

/* ── Fiche annonce ── */

.ic-recrut-hero { background: var(--ic-rc-bg, #e9e3d8); border-bottom: 1px solid rgba(0, 0, 0, .06); }
.ic-recrut-hero__inner {
    max-width: 1280px; margin: 0 auto; padding: 1.6rem 3.5rem 1.8rem;
    display: flex; align-items: center; gap: 1.1rem;
}
.ic-recrut-hero__tile {
    width: 64px; height: 64px; border-radius: 14px; flex: none;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: var(--ic-rc-fg, #5f5749); color: #fff; line-height: 1.15;
}
.ic-recrut-hero__num { font-size: .95rem; font-weight: 800; }
.ic-recrut-hero__sym { font-size: .62rem; font-weight: 700; opacity: .85; }
.ic-recrut-hero__text { min-width: 0; }
.ic-recrut-hero__eyebrow {
    margin: 0; font-size: .68rem; font-weight: 800;
    letter-spacing: .09em; text-transform: uppercase; color: var(--ic-rc-fg, #5f5749);
}
.ic-recrut-hero__title {
    margin: .25rem 0 .3rem; font-size: clamp(22px, 3.2vw, 34px);
    font-weight: 800; line-height: 1.15; color: #211c17;
}
.ic-recrut-hero__ident { margin: 0; font-size: .85rem; color: #6f685e; }

/* Puces : toutes cliquables, donc toutes soulignées */
.ic-recrut-puces { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 .8rem; }
.ic-recrut-puce {
    display: inline-block; font-size: .8rem; font-weight: 600;
    padding: 4px 12px; border-radius: 999px;
    background: #f2efe7; color: #5f574b; border: 1px solid #e7e1d5;
    text-decoration: none;
}
/* Pas de soulignement : la pilule porte déjà l'affordance de clic,
   et le survol change fond + bordure + couleur. */
a.ic-recrut-puce:hover { border-color: #d8cfbf; background: #ece8dd; color: var(--ic-red); }
span.ic-recrut-puce { opacity: .75; }
.ic-recrut-puce--pay { background: #e8f2e8; color: #3b6d3b; border-color: #dbe9db; }

/* Ligne de détail : ce que l'archive ne sait pas filtrer */
.ic-recrut-detail { margin: 0 0 1.1rem; font-size: .87rem; color: #7c7266; }
.ic-recrut-detail__limite.is-urgent { color: #b33032; font-weight: 700; }

/* Bandeau d'action */
.ic-recrut-band {
    display: flex; align-items: center; gap: .8rem; flex-wrap: wrap;
    padding: .85rem 1rem; margin: 0 0 1.4rem;
    border: 1px solid #e7e1d5; border-radius: 12px; background: #faf8f3;
}
.ic-recrut-band__logo { width: 42px; height: 42px; flex: none; border-radius: 10px; object-fit: cover; }
.ic-recrut-band__mono {
    width: 42px; height: 42px; flex: none; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    background: var(--ic-rc-bg, #e9e3d8); color: var(--ic-rc-fg, #5f5749);
    font-size: 1.15rem; font-weight: 800;
}
.ic-recrut-band__who { min-width: 0; }
.ic-recrut-band__label {
    display: block; font-size: .62rem; font-weight: 800;
    letter-spacing: .07em; text-transform: uppercase; color: #7c7266;
}
.ic-recrut-band__nom { font-size: .95rem; font-weight: 800; color: #211c17; text-decoration: none; }
a.ic-recrut-band__nom:hover { text-decoration: underline; }
.ic-recrut-band__cta { margin-left: auto; }

/* Ligne d'atelier, sous la description */
.ic-recrut-atelier {
    margin: 1rem 0 0; padding: .65rem .8rem;
    border-radius: 8px; background: #eef4fb; color: #3a5a82; font-size: .9rem;
}

/* Annonce clôturée : les deux variables basculent en gris, tout suit */
.ic-recrut-single.is-cloturee { --ic-rc-bg: #eceae4; --ic-rc-fg: #6f685e; }

@media (max-width: 700px) {
    .ic-recrut-hero__inner { padding: 1.2rem 1.1rem 1.4rem; gap: .8rem; }
    .ic-recrut-hero__tile { width: 48px; height: 48px; border-radius: 11px; }
    .ic-recrut-band__cta { margin-left: 0; width: 100%; text-align: center; }
}
