/* ═══════════════════════════════════════════════════════════════════════════
   Recherche de Talents côté Maison (`/recruiter/search?tab=talents`), tickets
   #4274 et #4454.

   La feuille de la « recherche recruteur finale » du 12/09,
   `app/views/mockups/recruiter/talent_search.html.erb` (typographie normalisée
   le 06/10 : Geist, tailles sous 14 px remontées, « talent » en Playfair
   Display ; source Drive 1kEsCX_iqgT7RMFMc0CPvkrEZG8Y2Jo9p). Son <style> de
   page est repris DANS SON ORDRE, mécaniquement, comme pour la recherche
   Talent (#4238, talent_search_page.css) :

     · chaque sélecteur est préfixé par la racine `:where(.rsp)` (la page porte
       `.rsp.ts-page`) : toutes les feuilles sont servies à toutes les pages et
       la recherche Talent emploie le même préfixe `ts-`. `:where()` ne pèse
       rien : chaque règle garde la spécificité qu'elle avait dans la maquette,
       donc la même cascade face à recruiter_talent_search.css ;
     · les `@keyframes` sont préfixés `rsp-` pour la même raison ;
     · retirées : les règles de ce qui n'est pas porté (conversation d'Auguste,
       panneau « Depuis une annonce ouverte / Récentes », « Enregistrer la
       recherche », pastille Auguste, aperçu WhatsApp, agenda, carrousels) et
       celles de l'aperçu rapide (`.ts-qp-*`), qui garde la feuille
       recruiter_talent_search.css validée par les retours #4451 / #4454 ;
     · couleurs sur les jetons de design_tokens.css : valeur identique d'abord,
       doré le plus proche ensuite, neutre le plus proche (écart ≤ 12 par canal)
       enfin ; le rouge de la dictée et du « ✗ » sur --red / --red-50. Deux
       jetons ajoutés pour ce qui n'avait pas d'équivalent (--slate-600,
       --presence). Seul littéral restant : le noir des masques du portrait
       (canal alpha, pas une couleur affichée).

   La vue charge cette feuille APRÈS les autres, comme le <style> de la
   maquette venait après elles. Les règles propres à l'application sont en fin
   de feuille, sous « Écarts applicatifs ».
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Typographie normalisée des feuilles que la maquette embarquait ──────
   La maquette porte une COPIE des feuilles de l'application (cartes, aperçu
   rapide, recherche IA) et des partials de pastille (disponibilité, Grille de
   Match) ; la normalisation du 06/10 a remonté leurs tailles comme le reste.
   La même règle (6 px -> 11 px ... 14 px inchangé, au quart de pixel) est
   rejouée ici sur les feuilles réelles, règle par règle, sous `:where(.rsp)` :
   même spécificité que l'originale, chargée après elle, AVANT le <style> de
   page de la maquette (section 2), comme dans la maquette. Seule la taille
   change ; tout le reste vient des feuilles validées. Généré mécaniquement. */
/* recruiter_talent_search.css : 61 règles */
:where(.rsp) .ts-hero p { font-size: 13.75px; }
:where(.rsp) .ts-hero-search button, :where(.rsp) .ts-hero-search input[type="submit"] { font-size: 13.5px; }
:where(.rsp) .ts-hero-search input[type="search"] { font-size: 13.75px; }
:where(.rsp) .ts-mode-btn { font-size: 13.75px; }
:where(.rsp) .ts-beta { font-size: 12px; }
:where(.rsp) .ts-cell-label { font-size: 12.25px; }
:where(.rsp).ts-page .ts-cell .ts-cell-label { font-size: 12.25px; }
:where(.rsp) .ts-cell-value { font-size: 13.75px; }
:where(.rsp) .ts-cell-opt { font-size: 13.75px; }
:where(.rsp) .ts-cell-search input { font-size: 13.75px; }
:where(.rsp) .ts-cell-empty { font-size: 13.5px; }
:where(.rsp) .ts-advanced-link button, :where(.rsp) .ts-advanced-link a { font-size: 13.5px; }
:where(.rsp) .ts-results-title { font-size: 13.25px; }
:where(.rsp) .ts-results-sort { font-size: 13.5px; }
:where(.rsp) .ts-results-sort .ts-pill { font-size: 13.5px; }
:where(.rsp) .ts-avail--sm { font-size: 13px; }
:where(.rsp) .ts-avail--md { font-size: 13.5px; }
:where(.rsp) .ts-card .ts-card-vbadge { font-size: 12.25px; }
:where(.rsp) .ts-card .ts-card-cur { font-size: 13.5px; }
:where(.rsp) .ts-card .ts-card-pitch-lbl { font-size: 11.5px; }
:where(.rsp) .ts-card .ts-card-lbl { font-size: 12.25px; }
:where(.rsp) .ts-card .ts-card-tl-t { font-size: 13.5px; }
:where(.rsp) .ts-card .ts-card-tl-y { font-size: 12.25px; }
:where(.rsp) .ts-card .ts-card-tl-now { font-size: 11.5px; }
:where(.rsp) .ts-card .ts-card-tl-m { font-size: 13px; }
:where(.rsp) .ts-card .ts-card-chip { font-size: 12.5px; }
:where(.rsp) .ts-card .ts-card-edu-n { font-size: 13px; }
:where(.rsp) .ts-card .ts-card-preview-btn { font-size: 12.5px; }
:where(.rsp) .ts-card .ts-btn { font-size: 12.5px; }
:where(.rsp) .ts-qp-sec { font-size: 12.25px; }
:where(.rsp) .ts-qp-ai-tag { font-size: 12px; }
:where(.rsp) .ts-qp-pitch-lbl { font-size: 13px; }
:where(.rsp) .ts-qp-status { font-size: 13.75px; }
:where(.rsp) .ts-qp-cur-t { font-size: 13.75px; }
:where(.rsp) .ts-qp-cur-m { font-size: 13.25px; }
:where(.rsp) .ts-qp-cur-b { font-size: 13px; }
:where(.rsp) .ts-qp-tl-t { font-size: 13.75px; }
:where(.rsp) .ts-qp-tl-now { font-size: 12.25px; }
:where(.rsp) .ts-qp-tl-y { font-size: 13px; }
:where(.rsp) .ts-qp-tl-m { font-size: 13.25px; }
:where(.rsp) .ts-qp-exp { font-size: 13.5px; }
:where(.rsp) .ts-qp-lg-n { font-size: 13.75px; }
:where(.rsp) .ts-qp-lg-lv { font-size: 13.25px; }
:where(.rsp) .ts-qp-chip { font-size: 13.25px; }
:where(.rsp) .ts-qp-form-n, :where(.rsp) .ts-qp-ref-n { font-size: 13.75px; }
:where(.rsp) .ts-qp-form-f { font-size: 13.25px; }
:where(.rsp) .ts-qp-ref-a { font-size: 13.75px; }
:where(.rsp) .ts-qp-ref-q { font-size: 13.25px; }
:where(.rsp) .ts-qp-foot button, :where(.rsp) .ts-qp-foot a { font-size: 13px; }
@media (max-width: 480px) {
:where(.rsp) .ts-qp-foot button, :where(.rsp) .ts-qp-foot a { font-size: 12.75px; }
}
:where(.rsp) .ts-qp-queue-item { font-size: 13.25px; }
:where(.rsp) .ts-qp-queue-item.is-more { font-size: 13px; }
:where(.rsp) .ts-qp-video-play { font-size: 13px; }
:where(.rsp) .ts-qp-video-title { font-size: 13.5px; }
:where(.rsp) .ts-qp-video-sub { font-size: 12.5px; }
:where(.rsp) .ts-qp-video-modal-title { font-size: 13.75px; }
:where(.rsp) .ts-cell .ts-cell-value { font-size: 13.25px; }
:where(.rsp) .ts-results-sort { font-size: 13.25px; }
:where(.rsp) .ts-results-sort select { font-size: 13.25px; }
:where(.rsp) .ts-selbar-n { font-size: 13.75px; }
:where(.rsp) .ts-selbar-btn { font-size: 13.5px; }
/* ai_search.css : 10 règles */
:where(.rsp) .ts-auguste-rule { font-size: 12.75px; }
:where(.rsp) .ts-ai-title { font-size: 12.25px; }
:where(.rsp) .ts-ai-quick-label { font-size: 12.25px; }
:where(.rsp) .ts-ai-chip { font-size: 13.25px; }
:where(.rsp) .ts-ai-card .ts-ai-input { font-size: 13.75px; }
:where(.rsp) .ts-ai-card .ts-ai-launch { font-size: 13.75px; }
:where(.rsp) .ts-ai-hint { font-size: 13px; }
:where(.rsp) .ts-ai-notice-text { font-size: 13.75px; }
:where(.rsp) .ts-ai-notice-cta { font-size: 13.5px; }
:where(.rsp) .ts-ai-notice-note { font-size: 13.25px; }
/* availability.css : 2 règles */
:where(.rsp) .ts-avail--sm { font-size: 13px; }
:where(.rsp) .ts-avail--md { font-size: 13.5px; }
/* ai_score.css : 2 règles */
:where(.rsp) .tsm-badge--sm { font-size: 13px; }
:where(.rsp) .tsm-badge--md { font-size: 13.5px; }

/* ── 2. Le <style> de page de la maquette ──────────────────────────────────── */
:where(.rsp).ts-page { --ts-gold: var(--gold-500); --ts-gold-light: var(--gold-primary); --ts-gold-deep: var(--gold-700); --ts-gold-luminous: linear-gradient(99deg, var(--gold-edge) 0%, var(--gold-200) 25%, var(--gold-on-ink) 50%, var(--gold-200) 75%, var(--gold-100) 100%); --ts-cream: var(--gold-50); --ts-cream-border: var(--gold-200); --ts-ink: var(--preview-ink); --ts-ink-soft: var(--n-700); --ts-ink-mute: var(--n-500); --ts-line: var(--preview-line); --ts-bg: var(--n-0); --ts-success: var(--green); font-family: 'Geist', -apple-system, BlinkMacSystemFont, sans-serif; background: var(--ts-bg); min-height: 100vh; color: var(--ts-ink); }
:where(.rsp) .ts-hero { max-width: 1280px; margin: 0 auto; padding: 26px 40px 10px; text-align: center; }
:where(.rsp) .ts-hero h1 { font-size: 34px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.1; margin: 0 0 8px; }
:where(.rsp) .ts-hero h1 em { font-style: italic; font-weight: 600; display: inline-block; padding-right: .14em; margin-right: -.14em; background: linear-gradient(100deg, var(--gold-primary), var(--gold-200), var(--gold-500)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
:where(.rsp) .ts-hero p { font-size: 13.75px; color: var(--ts-ink-mute); margin: 0 0 14px; }
:where(.rsp) .ts-hero p strong { color: var(--ts-gold-deep); font-weight: 600; }
:where(.rsp) .ts-hero-search { display: flex; align-items: center; gap: 8px; max-width: 620px; margin: 0 auto 14px; padding: 6px 6px 6px 16px; background: var(--n-0); border: 1px solid var(--ts-line); border-radius: 999px; box-shadow: 0 2px 14px rgba(44,44,44,0.06); transition: border-color 0.15s, box-shadow 0.15s; }
:where(.rsp) .ts-hero-search:focus-within { border-color: var(--ts-cream-border); box-shadow: 0 4px 18px rgba(163,133,67,0.14); }
:where(.rsp) .ts-hero-search > svg { width: 17px; height: 17px; color: var(--ts-ink-mute); flex-shrink: 0; }
:where(.rsp) .ts-hero-search input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: inherit; font-size: 13.75px; color: var(--ts-ink); padding: 9px 0; }
:where(.rsp) .ts-hero-search input::placeholder { color: var(--ts-ink-mute); }
:where(.rsp) .ts-hero-search button { flex-shrink: 0; height: 36px; padding: 0 20px; border: none; border-radius: 999px; background: var(--ts-gold-luminous); color: var(--n-0); text-shadow: 0 1px 2px rgba(60,44,10,.45); font-family: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; box-shadow: 0 2px 8px rgba(163,133,67,0.28); transition: filter 0.15s; }
:where(.rsp) .ts-hero-search button:hover { filter: brightness(1.04); }
:where(.rsp) .ts-filter-bar { display: flex; align-items: center; gap: 2px; padding: 7px; background: var(--n-0); border: 1px solid var(--ts-line); border-radius: 20px; box-shadow: 0 3px 18px rgba(44,44,44,0.05); max-width: 1180px; margin: 0 auto; }
:where(.rsp) .ts-cell-wrap { flex: 1; position: relative; min-width: 0; }
:where(.rsp) .ts-cell { width: 100%; padding: 8px 26px 8px 13px; border-radius: 14px; cursor: pointer; transition: background 0.15s; background: transparent; border: none; text-align: left; font-family: inherit; min-width: 0; }
:where(.rsp) .ts-cell:hover,
:where(.rsp) .ts-cell.active { background: var(--ts-cream); }
:where(.rsp) .ts-cell-label { display: flex; align-items: center; gap: 5px; color: var(--ts-ink-mute); font-size: 12.25px; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; white-space: nowrap; }
:where(.rsp) .ts-cell-label svg { width: 11px; height: 11px; opacity: 0.75; }
:where(.rsp) .ts-cell-value { display: block; color: var(--ts-ink); font-weight: 600; font-size: 13.75px; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:where(.rsp) .ts-chevron { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); color: var(--ts-ink-mute); opacity: 0.55; pointer-events: none; }
:where(.rsp) .ts-divider { width: 1px; height: 26px; background: var(--ts-line); flex-shrink: 0; }
:where(.rsp) .ts-reset { width: 40px; height: 40px; border-radius: 50%; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--ts-ink-mute); flex-shrink: 0; transition: all 0.15s; }
:where(.rsp) .ts-reset:hover { background: var(--n-100); color: var(--ts-gold-deep); }
:where(.rsp) .ts-search-btn { width: 46px; height: 46px; border-radius: 50%; background: var(--ts-gold-luminous); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--n-0); text-shadow: 0 1px 2px rgba(60,44,10,.45); box-shadow: 0 3px 10px rgba(163,133,67,0.30); flex-shrink: 0; transition: filter 0.15s; }
:where(.rsp) .ts-search-btn:hover { filter: brightness(1.04); }
:where(.rsp) .ts-chevron { transition: transform 0.18s ease; }
:where(.rsp) .ts-cell.active { background: var(--ts-cream); }
:where(.rsp) .ts-cell.active .ts-chevron { transform: translateY(-50%) rotate(180deg); opacity: 0.9; }
:where(.rsp) .ts-menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 200px; background: var(--n-0); border: 1px solid var(--ts-line); border-radius: 14px; box-shadow: 0 12px 32px rgba(44,44,44,0.14); padding: 6px; z-index: 40; animation: rsp-tsMenuIn 0.14s ease; }
@keyframes rsp-tsMenuIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
:where(.rsp) .ts-menu-item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 11px; border-radius: 9px; border: none; background: transparent; text-align: left; font-family: inherit; font-size: 13.75px; color: var(--ts-ink); cursor: pointer; white-space: nowrap; }
:where(.rsp) .ts-menu-item:hover { background: var(--ts-cream); }
:where(.rsp) .ts-menu-item[aria-selected="true"] { color: var(--ts-gold-deep); font-weight: 600; }
:where(.rsp) .ts-menu-item .ts-check { margin-left: auto; opacity: 0; color: var(--ts-gold-deep); flex-shrink: 0; }
:where(.rsp) .ts-menu-item[aria-selected="true"] .ts-check { opacity: 1; }
:where(.rsp) .ts-menu-search { width: 100%; box-sizing: border-box; margin: 2px 0 6px; padding: 8px 11px; border: 1px solid var(--ts-line); border-radius: 9px; font-family: inherit; font-size: 13.75px; color: var(--ts-ink); background: var(--n-50); outline: none; }
:where(.rsp) .ts-menu-search:focus { border-color: var(--ts-gold-deep); background: var(--n-0); }
:where(.rsp) .ts-menu-empty { padding: 9px 11px; font-size: 13.5px; color: var(--ts-ink-mute); }
:where(.rsp) .ts-adv-panel { max-width: 940px; margin: 14px auto 0; background: var(--n-0); border: 1px solid var(--ts-line); border-radius: 18px; padding: 20px 24px; box-shadow: 0 4px 18px rgba(44,44,44,0.05); animation: rsp-tsAdvIn 0.16s ease; }
@keyframes rsp-tsAdvIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
:where(.rsp) .ts-adv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
:where(.rsp) .ts-adv-f { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ts-ink-mute); }
:where(.rsp) .ts-adv-f select { font-family: inherit; font-size: 13.75px; font-weight: 500; color: var(--ts-ink); text-transform: none; letter-spacing: normal; padding: 9px 12px; border: 1px solid var(--ts-line); border-radius: 10px; background: var(--n-0); cursor: pointer; }
:where(.rsp) .ts-adv-f select:focus { outline: none; border-color: var(--ts-gold-deep); }
:where(.rsp) .ts-adv-chipgroup { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
:where(.rsp) .ts-adv-lbl { font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ts-ink-mute); margin-right: 4px; }
:where(.rsp) .ts-adv-chip { font-family: inherit; font-size: 13.5px; font-weight: 600; color: var(--ts-ink); background: var(--n-0); border: 1px solid var(--ts-line); border-radius: 999px; padding: 6px 14px; cursor: pointer; transition: all 0.14s; }
:where(.rsp) .ts-adv-chip:hover { border-color: var(--ts-gold-deep); }
:where(.rsp) .ts-adv-chip.is-on { background: var(--ts-cream); border-color: var(--ts-gold-deep); color: var(--ts-gold-deep); }
:where(.rsp) .ts-mode-panel { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
:where(.rsp).ts-page [hidden] { display: none !important; }
:where(.rsp) .ts-hero { padding-bottom: 6px; }
:where(.rsp) .ts-ubar-wrap { position: relative; max-width: 860px; margin: 0 auto; }
:where(.rsp) .ts-composer { background: var(--n-0); border: 1px solid var(--ts-line); border-radius: 26px; box-shadow: 0 2px 14px rgba(44,44,44,0.06); padding: 8px; text-align: left; transition: border-color .15s, box-shadow .15s; }
:where(.rsp) .ts-composer:focus-within { border-color: var(--ts-cream-border); box-shadow: 0 4px 18px rgba(163,133,67,0.14); }
:where(.rsp) .ts-composer-row { display: flex; align-items: center; gap: 8px; padding: 2px 2px 2px 12px; }
:where(.rsp) .ts-composer-ic { width: 17px; height: 17px; color: var(--ts-ink-mute); flex-shrink: 0; }
:where(.rsp) .ts-composer-row input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: inherit; font-size: 14px; color: var(--ts-ink); padding: 10px 0; }
:where(.rsp) .ts-composer-row input::placeholder { color: var(--ts-ink-mute); }
:where(.rsp) .ts-composer-row button[type="submit"] { flex-shrink: 0; height: 38px; padding: 0 20px; border: none; border-radius: 999px; background: var(--ts-gold-luminous); color: var(--n-0); text-shadow: 0 1px 2px rgba(60,44,10,.45); font-family: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; box-shadow: 0 2px 8px rgba(163,133,67,0.28); transition: filter .15s; }
:where(.rsp) .ts-composer-row button[type="submit"]:hover { filter: brightness(1.04); }
:where(.rsp) .ts-composer-hint { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 2px 12px 8px; font-size: 13.25px; color: var(--ts-ink-mute); }
:where(.rsp) .ts-composer-hint b { color: var(--ts-gold-deep); font-weight: 600; }
:where(.rsp) .ts-ubar { max-width: none; padding-left: 7px; gap: 10px; margin-bottom: 0; }
:where(.rsp) .ts-ubar > svg { display: none; }
:where(.rsp) .ts-ubar-av-unused { width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0; object-fit: cover; border: 2px solid transparent; background: linear-gradient(var(--n-0),var(--n-0)) padding-box, linear-gradient(140deg,var(--gold-100),var(--gold-primary) 45%,var(--gold-600) 70%,var(--gold-200)) border-box; box-shadow: 0 1px 6px rgba(184,145,42,0.25); transition: box-shadow .25s, transform .25s; }
:where(.rsp) .ts-ubar-av.listening { box-shadow: 0 0 0 4px rgba(196,165,89,0.22), 0 1px 6px rgba(184,145,42,0.35); }
:where(.rsp) .ts-ubar-av.awake { animation: rsp-tsAwake 1.6s ease; }
@keyframes rsp-tsAwake { 0%,100% { transform: none; } 30% { transform: scale(1.12); box-shadow: 0 0 0 6px rgba(196,165,89,0.28); } }
:where(.rsp) .ts-composer-row button.ts-mic { width: 36px; height: 36px; padding: 0; border-radius: 50%; background: var(--n-100); color: var(--ts-ink-mute); box-shadow: none; text-shadow: none; display: flex; align-items: center; justify-content: center; transition: all .15s; }
:where(.rsp) .ts-composer-row button.ts-mic svg { width: 16px; height: 16px; }
:where(.rsp) .ts-composer-row button.ts-mic:hover { background: var(--ts-cream); color: var(--ts-gold-deep); }
:where(.rsp) .ts-composer-row button.ts-mic.rec { background: var(--red-50); color: var(--red); animation: rsp-tsRec 1s ease infinite; }
@keyframes rsp-tsRec { 50% { box-shadow: 0 0 0 5px rgba(192,57,43,0.18); } }
:where(.rsp) .ts-crit .mob { color: var(--green); font-weight: 700; }
:where(.rsp) .ts-filter-bar { margin-top: 12px; }
:where(.rsp) .ts-cell-value.is-empty { color: var(--ts-ink-mute); font-weight: 500; }
:where(.rsp) .ts-cell-value.is-prev { color: var(--gold-edge); font-style: italic; }
:where(.rsp) .ts-cell.is-set .ts-cell-label { color: var(--ts-gold-deep); }
:where(.rsp) .ts-cell.is-set { background: var(--n-warm-50); }
:where(.rsp) .ts-lock { display: none; width: 10px !important; height: 10px !important; margin-left: 2px; opacity: 1 !important; }
:where(.rsp) .ts-cell.is-locked .ts-lock { display: inline-block; }
:where(.rsp) .ts-menu { min-width: 240px; }
:where(.rsp) .ts-menu-hint { font-size: 13px; color: var(--ts-ink-mute); padding: 6px 11px 8px; border-bottom: 1px solid var(--ts-line); margin-bottom: 4px; line-height: 1.4; }
:where(.rsp) .ts-menu-count { margin-left: auto; font-size: 13px; color: var(--ts-ink-mute); font-variant-numeric: tabular-nums; }
:where(.rsp) .ts-menu-item .ts-check { margin-left: 8px; }
:where(.rsp) .ts-menu-item.is-zero { opacity: .45; }
:where(.rsp) .ts-adv-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; font-size: 13px; color: var(--ts-ink-mute); }
:where(.rsp) .ts-adv-foot button { font-family: inherit; font-size: 13.25px; font-weight: 600; color: var(--ts-gold-deep); background: transparent; border: 1px solid var(--ts-line); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
:where(.rsp) .ts-adv-foot button:hover { border-color: var(--ts-gold-deep); }
:where(.rsp) .ts-composer-row input::placeholder { color: var(--ts-ink-mute); }
@keyframes rsp-tsDot { 0%,100% { opacity: .35; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
@keyframes rsp-tsTxtIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
@keyframes rsp-tsPillIn { from { opacity: 0; transform: translateY(5px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes rsp-tsTalk { 0%,100% { box-shadow: 0 1px 5px rgba(184,145,42,0.3); transform: none; } 50% { box-shadow: 0 0 0 5px rgba(196,165,89,0.25); transform: translateY(-1px); } }
:where(.rsp) .ts-face { position: relative; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; flex-shrink: 0; overflow: hidden; background: var(--n-0); box-shadow: 0 0 0 2px var(--n-0), 0 0 0 3px var(--gold-200), 0 2px 8px rgba(184,145,42,0.28); }
:where(.rsp) .ts-face > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform: scale(1.45); transform-origin: 50% 34%; border-radius: 50%; background: none !important; box-shadow: none !important; border: 0 !important; }
:where(.rsp) .ts-face--bubble { width: 34px; height: 34px; margin-top: 1px; }
:where(.rsp) .ts-face--bubble > img { width: 34px; height: 34px; }
:where(.rsp) .ts-face--input { width: 48px; height: 48px; }
:where(.rsp) .ts-face--input > img { object-position: 50% 50%; transform: none; }
:where(.rsp) .ts-face--pill { width: 24px; height: 24px; box-shadow: 0 0 0 1.5px var(--n-0), 0 1px 4px rgba(184,145,42,0.35); }
:where(.rsp) .ts-face--pill > img { width: 24px; height: 24px; }
:where(.rsp) .ts-face.is-talking,
:where(.rsp) .ts-face:has(.is-talking) { animation: rsp-tsTalk 1s ease infinite; }
@keyframes rsp-tsSpin { to { transform: rotate(360deg); } }
:where(.rsp) .ts-welcome { position: relative; z-index: 5; max-width: 1280px; margin: 18px auto 0; padding: 0 40px; text-align: left; isolation: isolate; }
:where(.rsp) .ts-welcome-inner { position: relative; overflow: hidden; border-radius: 28px 28px 0 0; min-height: 380px; padding: 36px 48px 140px; color: var(--ink); display: flex; align-items: center; background-color: var(--n-0); background-image: linear-gradient(90deg, var(--n-0) 0%, rgba(255,255,255,0.92) 28%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 72%), var(--tsw-fond), radial-gradient(ellipse at 82% 35%, rgba(239,226,184,0.24), rgba(196,165,89,0.04) 30%, transparent 65%), linear-gradient(115deg, var(--n-100), var(--n-200)); background-size: auto, cover, auto, auto; background-position: center, center, center, center; }
:where(.rsp) .ts-welcome[data-theme="brume-claire"] .ts-welcome-inner { background-color: var(--n-0); background-image: linear-gradient(90deg, var(--n-0) 0%, rgba(255,255,255,0.92) 28%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 72%), radial-gradient(ellipse at 82% 35%, rgba(239,226,184,0.24), rgba(196,165,89,0.04) 30%, transparent 65%), linear-gradient(115deg, var(--n-100), var(--n-100)); }
:where(.rsp) .ts-welcome-copy { position: relative; z-index: 2; max-width: 56%; }
:where(.rsp) .ts-welcome-kicker { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; color: var(--n-700); }
:where(.rsp) .ts-welcome-kicker b { font-weight: 700; color: var(--ink); }
:where(.rsp) .ts-welcome-kicker span { color: var(--gold-primary); }
:where(.rsp) .ts-welcome-title { margin: 0 0 12px; font-size: 52px; line-height: 1.02; letter-spacing: -0.03em; font-weight: 700; color: var(--ink); }
:where(.rsp) .ts-welcome-title em { font-style: italic; font-weight: 600; font-family: 'Playfair Display', Georgia, serif; letter-spacing: -0.01em; padding-right: .1em; background: linear-gradient(100deg, var(--gold-primary) 0%, var(--gold-200) 45%, var(--gold-primary) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
:where(.rsp) .ts-welcome-sub { margin: 0; font-size: 18px; color: var(--slate-600); }
:where(.rsp) .ts-welcome-portrait { position: absolute; z-index: 1; right: 5%; bottom: 30px; height: 340px; width: auto; pointer-events: none; user-select: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,.6) 88%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%), linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,.6) 88%, transparent 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
:where(.rsp) .ts-welcome .ts-ubar-wrap { max-width: none; width: calc(100% - 420px); margin: -110px 0 0 28px; z-index: 3; }
:where(.rsp) .ts-welcome .ts-composer { border-radius: 24px; box-shadow: 0 10px 30px rgba(44,44,44,0.10); }
:where(.rsp) .ts-welcome .ts-composer:focus-within { box-shadow: 0 0 0 1px var(--gold-primary), 0 12px 32px rgba(163,133,67,.16); }
:where(.rsp) .ts-welcome .ts-composer-row { padding: 6px 6px 6px 12px; gap: 10px; }
:where(.rsp) .ts-welcome .ts-composer-row input { font-size: 15px; padding: 12px 0; }
:where(.rsp) .ts-welcome .ts-composer-row input::placeholder { color: var(--n-warm-500); }
:where(.rsp) .ts-composer-row button.ts-go-champagne { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 22px; border-radius: 999px; color: var(--ink); text-shadow: none; font-size: 14px; font-weight: 600; background: linear-gradient(115deg, rgba(232,204,110,0.82) 0%, rgba(245,232,190,0.95) 50%, rgba(220,196,120,0.85) 100%); border: 1px solid rgba(196,165,89,0.55); box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 3px 10px rgba(110,88,44,0.08); transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; filter: none; }
:where(.rsp) .ts-composer-row button.ts-go-champagne svg { width: 16px; height: 16px; color: var(--ink); }
:where(.rsp) .ts-composer-row button.ts-go-champagne:hover { filter: none; transform: translateY(-1px); border-color: rgba(196,165,89,0.45); box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), 0 5px 14px rgba(110,88,44,0.12); }
:where(.rsp) .ts-composer-row button.ts-go-champagne:active { transform: translateY(0); }
:where(.rsp) .ts-composer-row button.ts-go-champagne:focus-visible { outline: 2px solid var(--gold-700); outline-offset: 3px; }
:where(.rsp) .ts-filters-btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--ts-line); background: var(--n-0); color: var(--ts-ink); font-family: inherit; font-size: 14px; font-weight: 500; cursor: pointer; flex-shrink: 0; transition: border-color .15s, background .15s; }
:where(.rsp) .ts-filters-btn svg { width: 16px; height: 16px; color: var(--ts-ink-soft); }
:where(.rsp) .ts-filters-btn:hover { border-color: var(--ts-cream-border); background: var(--n-50); }
:where(.rsp) .ts-filters-btn[aria-expanded="true"] { border-color: var(--ts-gold-deep); background: var(--ts-cream); }
:where(.rsp) .ts-filters-btn:focus-visible { outline: 2px solid var(--gold-700); outline-offset: 3px; }
:where(.rsp) .ts-filters-n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--ts-gold-deep); color: var(--n-0); font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
:where(.rsp) .ts-filters { position: relative; z-index: 6; box-sizing: border-box; max-width: 1136px; margin: 12px auto 0; padding: 14px 28px; background: var(--n-0); border-radius: 0 0 24px 24px; box-shadow: 0 10px 26px rgba(44,44,44,0.08); animation: rsp-tsAdvIn .16s ease; }
:where(.rsp).ts-page:has(#ts-filters:not([hidden])) .ts-welcome-inner { border-radius: 28px 28px 0 0; }
:where(.rsp) .ts-filters .ts-filter-bar { margin-top: 0; }
@media (prefers-reduced-motion: reduce) {
  :where(.rsp) .ts-filters,
  :where(.rsp) .ts-menu,
  :where(.rsp) .ts-adv-panel { animation: none !important; }
  :where(.rsp) .ts-composer-row button.ts-go-champagne,
  :where(.rsp) .ts-face { transition: none !important; animation: none !important; }
}
@media (max-width: 1100px) {
  :where(.rsp) .ts-welcome-title { font-size: 40px; }
  :where(.rsp) .ts-welcome-inner { min-height: 360px; }
  :where(.rsp) .ts-welcome-portrait { height: 300px; bottom: 40px; }
  :where(.rsp) .ts-welcome-copy { max-width: 58%; }
  :where(.rsp) .ts-welcome .ts-ubar-wrap { width: calc(100% - 330px); }
}
@media (max-width: 760px) {
  :where(.rsp) .ts-welcome { padding: 0 12px; }
  :where(.rsp) .ts-welcome-inner { padding: 24px 20px 120px; min-height: 0; border-radius: 22px 22px 0 0; display: block; }
  :where(.rsp) .ts-welcome-copy { max-width: 58%; }
  :where(.rsp) .ts-welcome-title { font-size: 30px; }
  :where(.rsp) .ts-welcome-sub { font-size: 15px; }
  :where(.rsp) .ts-welcome-portrait { top: 8%; bottom: auto; right: -6%; height: 170px; -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%); }
  :where(.rsp) .ts-welcome .ts-ubar-wrap { width: auto; margin: -84px 8px 0; }
  :where(.rsp) .ts-welcome .ts-composer-row { flex-wrap: wrap; padding: 8px; }
  :where(.rsp) .ts-welcome .ts-composer-row input { flex: 1 1 100%; order: 1; padding: 8px 0 4px 4px; }
  :where(.rsp) .ts-welcome .ts-composer-avw { order: 0; }
  :where(.rsp) .ts-welcome .ts-composer-row .ts-mic { order: 2; }
  :where(.rsp) .ts-welcome .ts-filters-btn { order: 3; flex: 1 1 auto; min-width: 0; justify-content: center; padding: 0 12px; font-size: 13.75px; }
  :where(.rsp) .ts-welcome .ts-composer-row button.ts-go-champagne { order: 4; flex: 1 1 100%; min-width: 0; justify-content: center; }
  :where(.rsp) .ts-filters { padding: 0 12px; }
  :where(.rsp) .ts-rh-right { flex-wrap: wrap; gap: 6px; }
  :where(.rsp) .ts-results-sort,
  :where(.rsp) .ts-results-sort .ts-pill { max-width: 100%; }
  :where(.rsp) .ts-results-sort select { max-width: 150px; }
}
:where(.rsp) .ts-ubar-wrap { position: relative; }
:where(.rsp) .ts-face > img { transform: none; object-position: 50% 50%; }
:where(.rsp) .ts-welcome .ts-ubar-wrap { transition: width .25s ease; }
@media (prefers-reduced-motion: reduce) {
  :where(.rsp) .ts-welcome .ts-ubar-wrap { transition: none; }
}
:where(.rsp) .ts-rh { align-items: center; }
:where(.rsp) .ts-rh-left { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
:where(.rsp) .ts-rh-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
:where(.rsp) .ts-results-sort select option:disabled { color: var(--n-300); }
:where(.rsp) #ts-group-open .ts-group-title b { color: var(--green); }
:where(.rsp) .ts-group { margin-top: 8px; margin-bottom: 26px; }
:where(.rsp) .ts-group-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
:where(.rsp) .ts-group-title { font-size: 13.25px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ts-ink); }
:where(.rsp) .ts-group-title b { color: var(--ts-gold-deep); font-weight: 700; margin-left: 2px; }
:where(.rsp) .ts-group-head small { font-size: 13.25px; color: var(--ts-ink-mute); }
:where(.rsp) .ts-group-all { margin-left: auto; font-family: inherit; font-size: 13px; color: var(--ts-ink-mute); background: transparent; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
:where(.rsp) .ts-group-all:hover { color: var(--ts-gold-deep); }
:where(.rsp) #ts-group-verify .ts-group-title b { color: var(--gold-edge); }
:where(.rsp) #ts-group-alt .ts-card { opacity: .93; }
:where(.rsp) .ts-empty { padding: 22px 20px; text-align: center; font-size: 13.75px; color: var(--ts-ink-soft); background: var(--n-50); border: 1px dashed var(--ts-line); border-radius: 16px; margin-top: 8px; }
:where(.rsp) .ts-slot { display: contents; }
:where(.rsp) .ts-slot[hidden] { display: none; }
:where(.rsp).ts-page.no-ctx .ts-card-mtab { display: none; }
:where(.rsp).ts-page .ts-card .ts-card-block:first-of-type { margin-top: 6px; }
:where(.rsp).ts-page .ts-card .ts-crit + .ts-card-block { margin-top: 6px; }
:where(.rsp).ts-page .ts-card .ts-card-chips { flex-wrap: nowrap; overflow: hidden; }
:where(.rsp).ts-page .ts-card .ts-card-actions { margin-top: 7px; }
:where(.rsp).ts-page .ts-crit { margin-top: 8px; padding-top: 7px; }
:where(.rsp) .ts-crit { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 10px 0 0; padding-top: 9px; border-top: 1px solid var(--n-100); font-size: 13px; line-height: 1.5; color: var(--ts-ink-soft); }
:where(.rsp) .ts-crit .ok { color: var(--green); font-weight: 700; }
:where(.rsp) .ts-crit .ko { color: var(--red); font-weight: 700; }
:where(.rsp) .ts-crit .unk { color: var(--gold-edge); font-weight: 700; }
:where(.rsp) .ts-crit i { color: var(--ts-ink-mute); font-style: normal; }
:where(.rsp) .ts-crit .sep { width: 1px; height: 10px; background: var(--ts-line); margin: 0 2px; }
:where(.rsp) .ts-crit-it { white-space: nowrap; }
:where(.rsp).ts-page .ts-sel { position: absolute; left: 10px; top: 10px; z-index: 3; cursor: pointer; width: 22px; height: 22px; line-height: 0; padding: 0 !important; margin: 0 !important; background: none !important; border: none !important; box-shadow: none !important; }
:where(.rsp).ts-page .ts-sel::before,
:where(.rsp).ts-page .ts-sel::after { content: none !important; }
:where(.rsp) .ts-sel input { position: absolute; opacity: 0; width: 0; height: 0; }
:where(.rsp) .ts-sel span { display: block; position: relative; width: 22px; height: 22px; border-radius: 7px; background: rgba(255,255,255,0.92); border: 1.5px solid rgba(0,0,0,0.18); box-shadow: 0 1px 4px rgba(0,0,0,0.18); transition: all .15s; }
:where(.rsp) .ts-sel:hover span { border-color: var(--ts-gold-deep); }
:where(.rsp) .ts-sel input:checked + span { background: var(--ts-gold-luminous); border-color: var(--gold-edge); }
:where(.rsp) .ts-sel input:checked + span::after { content: ""; position: absolute; left: 7px; top: 3px; width: 6px; height: 11px; border: solid var(--n-0); border-width: 0 2.2px 2.2px 0; transform: rotate(45deg); }
:where(.rsp) .ts-slot.is-sel .ts-card { box-shadow: 0 0 0 2px var(--ts-gold), 0 10px 30px rgba(44,44,44,.10); }
:where(.rsp).ts-page .ts-card .ts-card-vbadge { left: auto; right: 10px; }
:where(.rsp) .ts-selbar { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 8px; padding: 8px 10px 8px 16px; background: var(--preview-ink); color: var(--n-0); border-radius: 999px; box-shadow: 0 14px 40px rgba(0,0,0,0.28); animation: rsp-tsSelIn .2s ease; }
@keyframes rsp-tsSelIn { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }
:where(.rsp) .ts-selbar-n { font-size: 13.75px; margin-right: 6px; white-space: nowrap; }
:where(.rsp) .ts-selbar-n b { color: var(--gold-on-ink); }
:where(.rsp) .ts-selbar-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.06); color: var(--n-0); font-family: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; text-decoration: none; transition: background .15s; }
:where(.rsp) .ts-selbar-btn svg { width: 13px; height: 13px; }
:where(.rsp) .ts-selbar-btn:hover { background: rgba(255,255,255,0.14); }
:where(.rsp) .ts-selbar-btn.is-gold { background: var(--ts-gold-luminous); border-color: transparent; text-shadow: 0 1px 2px rgba(60,44,10,.45); }
:where(.rsp) .ts-selbar-btn.is-done { background: var(--green); border-color: transparent; }
:where(.rsp) .ts-selbar-x { width: 30px; height: 30px; border-radius: 50%; border: none; background: transparent; color: rgba(255,255,255,0.7); cursor: pointer; display: flex; align-items: center; justify-content: center; }
:where(.rsp) .ts-selbar-x svg { width: 14px; height: 14px; }
:where(.rsp) .ts-selbar-x:hover { background: rgba(255,255,255,0.12); color: var(--n-0); }
@media (max-width: 900px) {
  :where(.rsp) .ts-rh-right { width: 100%; justify-content: space-between; }
  :where(.rsp) .ts-selbar { left: 12px; right: 12px; transform: none; flex-wrap: wrap; border-radius: 20px; }
}
:where(.rsp) .ts-results { max-width: 1280px; margin: 36px auto 0; padding: 0 40px 56px; }
:where(.rsp) .ts-results-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
:where(.rsp) .ts-results-title { font-size: 13.25px; color: var(--ts-ink-mute); text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; }
:where(.rsp) .ts-results-title strong { color: var(--ts-gold-deep); font-weight: 700; }
:where(.rsp) .ts-results-sort { display: inline-flex; gap: 7px; align-items: center; font-size: 13.5px; color: var(--ts-ink-mute); }
:where(.rsp) .ts-results-sort .ts-pill { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px solid transparent; border-radius: 999px; padding: 6px 12px; transition: border-color 0.15s; }
:where(.rsp) .ts-results-sort .ts-pill:hover { border-color: var(--ts-cream-border); }
:where(.rsp) .ts-results-sort .ts-pill svg { width: 12px; height: 12px; opacity: 0.55; }
:where(.rsp) .ts-results-sort select { background: transparent; border: none; font-family: inherit; font-size: 13.5px; color: var(--ts-ink); font-weight: 600; cursor: pointer; outline: none; appearance: none; padding-right: 2px; }
@media (max-width: 1180px) {
  :where(.rsp) .ts-filter-bar { flex-wrap: wrap; border-radius: 18px; }
  :where(.rsp) .ts-divider { display: none; }
  :where(.rsp) .ts-cell-wrap { flex: 1 1 30%; }
}
@media (max-width: 720px) {
  :where(.rsp) .ts-hero { padding: 20px 20px 10px; }
  :where(.rsp) .ts-hero h1 { font-size: 28px; }
  :where(.rsp) .ts-mode-panel { padding: 0 20px; }
  :where(.rsp) .ts-results { padding: 0 20px 40px; }
  :where(.rsp) .ts-cell-wrap { flex: 1 1 45%; }
  :where(.rsp) .ts-hero-search { flex-wrap: wrap; border-radius: 18px; }
}
:where(.rsp) .ts-composer-avw { position: relative; flex-shrink: 0; width: 48px; height: 48px; }
:where(.rsp) .ts-composer-av { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: 50% 40%; display: block; box-shadow: 0 0 0 2px var(--n-0), 0 0 0 3.5px var(--gold-primary); transition: box-shadow .2s; }
:where(.rsp) .ts-composer-av.listening { animation: rsp-ts-avpulse 1.3s ease-in-out infinite; }
:where(.rsp) .ts-composer-av.awake { box-shadow: 0 0 0 2px var(--n-0), 0 0 0 3.5px var(--presence); }
@keyframes rsp-ts-avpulse { 0%, 100% { box-shadow: 0 0 0 2px var(--n-0), 0 0 0 3.5px var(--gold-primary), 0 0 0 7px rgba(201,165,74,.18); } 50% { box-shadow: 0 0 0 2px var(--n-0), 0 0 0 3.5px var(--gold-primary), 0 0 0 12px rgba(201,165,74,.04); } }
:where(.rsp) .ts-composer-dot { position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; border-radius: 50%; background: var(--presence); border: 2px solid var(--n-0); }
:where(.rsp) .ts-composer:focus-within { box-shadow: 0 0 0 1px var(--gold-primary), 0 10px 30px rgba(163,133,67,.14); }
:where(.rsp).ts-page.is-carousel .ts-group .ts-grid { display: flex; flex-wrap: nowrap; gap: 15px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 4px 14px; margin: 0 -4px; scrollbar-width: none; }
:where(.rsp).ts-page.is-carousel .ts-group .ts-grid::-webkit-scrollbar { display: none; }
:where(.rsp).ts-page.is-carousel .ts-group .ts-grid { align-items: stretch; }
:where(.rsp).ts-page.is-carousel .ts-group .ts-grid > .ts-slot > .ts-card { flex: 0 0 292px; width: 292px; scroll-snap-align: start; height: auto; }
:where(.rsp).ts-page.is-carousel .ts-group-head { position: sticky; top: 84px; z-index: 3; background: rgba(255,255,255,.94); backdrop-filter: blur(6px); padding: 8px 0; margin-bottom: 4px; }
:where(.rsp).ts-page.is-carousel .ts-group { position: relative; }
:where(.rsp).ts-page.is-carousel .ts-grid > .ts-slot > .ts-card:hover { transform: none; }
@media (max-width: 760px) {
  :where(.rsp).ts-page.is-carousel .ts-group .ts-grid > .ts-slot > .ts-card { flex-basis: 84vw; width: 84vw; }
  :where(.rsp).ts-page.is-carousel .ts-group-head { top: 64px; }
}
:where(.rsp) .ts-cell.is-manual .ts-lock { display: inline-block; }
@media (max-width: 760px) {
  :where(.rsp) .ts-welcome-portrait { right: 0; max-width: 45%; }
}

/* ── Écarts applicatifs ───────────────────────────────────────────────────── */

/* Règle I (Colin, 06/10) : en recherche guidée, chaque carte porte son
   étiquette de match, même sans critère posé. La maquette la masquait sans
   recherche (`.no-ctx`), la décision du 06/10 est postérieure. */
:where(.rsp).ts-page.no-ctx .ts-card .ts-card-mtab { display: inline-flex; }

/* Les deux `style` en ligne de la maquette (premier groupe de puces collé en
   haut du panneau, grille des sélecteurs à 16 px des puces). */
:where(.rsp) .ts-adv-first { margin-top: 0; }
:where(.rsp) .ts-adv-grid { margin-top: 16px; }

/* #4274 — « Affiner » garde le sélecteur Domaine (#1975) en plus des trois de
   la maquette : les quatre se partagent la ligne, et une option longue (les
   domaines du référentiel) ne pousse plus la page hors de l'écran. */
:where(.rsp) .ts-adv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
:where(.rsp) .ts-adv-f select { min-width: 0; max-width: 100%; }
@media (max-width: 760px) {
  :where(.rsp) .ts-adv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* ═══ Retours Tatianna du 07/10 (GO Colin 07/10), branche recherches-0710 ═══
   Valeurs posées après la maquette, d'où le bloc en fin de feuille. */

/* #4620 : premier bandeau au moins 30 % moins haut (380 → 260 px à 1440 px),
   marges, titre et portrait au prorata ; le nouveau visage d'Auguste (celui de
   la recherche Talent) en grand, posé sur le bas du bandeau (comme #4627). */
:where(.rsp) .ts-welcome-inner { min-height: 260px; padding: 24px 48px 92px; }
:where(.rsp) .ts-welcome-kicker { margin-bottom: 8px; }
:where(.rsp) .ts-welcome-title { font-size: 42px; margin-bottom: 8px; }
:where(.rsp) .ts-welcome-sub { font-size: 16px; }
:where(.rsp) .ts-welcome-portrait { bottom: 0; height: 250px; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 26%, #000 74%, rgba(0,0,0,.35) 90%, transparent 100%); }
:where(.rsp) .ts-welcome .ts-ubar-wrap { margin-top: -76px; }
@media (max-width: 1100px) {
:where(.rsp) .ts-welcome-inner { min-height: 250px; }
:where(.rsp) .ts-welcome-portrait { height: 236px; bottom: 0; }
:where(.rsp) .ts-welcome-title { font-size: 34px; }
}
@media (max-width: 760px) {
:where(.rsp) .ts-welcome-inner { min-height: 0; padding: 16px 20px 60px; }
:where(.rsp) .ts-welcome-copy { max-width: none; }
:where(.rsp) .ts-welcome-kicker { margin-bottom: 6px; font-size: 13px; }
:where(.rsp) .ts-welcome-title { max-width: 62%; font-size: 25px; margin-bottom: 6px; }
:where(.rsp) .ts-welcome-sub { max-width: 62%; font-size: 14px; }
:where(.rsp) .ts-welcome-portrait { top: 34px; bottom: auto; right: 2%; height: 120px; }
:where(.rsp) .ts-welcome .ts-ubar-wrap { margin-top: -50px; }
}

/* #4622 : textes de la carte 10 à 15 % plus petits, au prorata (nom 14 → 12,5
   px, intitulé et postes 13,5 → 12 px), plancher 12 px ; le marqueur « Actuel »
   rapetisse avec eux. */
:where(.rsp) .ts-card .ts-card-name { font-size: 12.5px; }
:where(.rsp) .ts-card .ts-card-cur { font-size: 12px; }
:where(.rsp) .ts-card .ts-avail--sm { font-size: 12px; }
:where(.rsp) .ts-card .ts-card-lbl { font-size: 12px; padding-bottom: 3px; margin-bottom: 5px; }
:where(.rsp) .ts-card .ts-card-tl-t { font-size: 12px; }
:where(.rsp) .ts-card .ts-card-tl-y { font-size: 12px; }
:where(.rsp) .ts-card .ts-card-tl-m { font-size: 12px; }
:where(.rsp) .ts-card .ts-card-tl-i { padding: 3px 0; }
:where(.rsp) .ts-card .ts-card-tl-d { top: 5px; width: 9px; height: 9px; }
:where(.rsp) .ts-card .ts-card-tl-now { font-size: 10px; padding: 0 3px; letter-spacing: .03em; line-height: 1.4; }
:where(.rsp) .ts-card .ts-card-chip { font-size: 12px; padding: 1px 8px; }
:where(.rsp) .ts-card .ts-card-edu-n { font-size: 12px; }
:where(.rsp) .ts-card .ts-card-preview-btn { font-size: 12px; height: 30px; }
:where(.rsp) .ts-card .ts-btn { font-size: 12px; height: 30px; }
:where(.rsp) .ts-card .tsm-badge--sm { font-size: 12px; }
:where(.rsp) .ts-card .ts-crit { font-size: 12px; }

/* #4624 : « Contacter » de la carte, au dessin de l'ancien « Shortlister ». */
:where(.rsp) .ts-card .ts-btn.ts-btn-contact { background: var(--n-0); border: 1px solid var(--ts-border); color: var(--ts-ink); }
:where(.rsp) .ts-card .ts-btn.ts-btn-contact:hover { border-color: var(--gold-200); background: var(--gold-50); color: var(--ts-gold-deep); }

/* #4625 : « Trier par » sans cadre, et toute la pastille ouvre la liste : le
   select la couvre, le chevron ne capte plus le clic. */
:where(.rsp) .ts-results-sort { border: none; background: none; padding: 0; box-shadow: none; }
:where(.rsp) .ts-results-sort .ts-pill { position: relative; padding: 0; border: none; }
:where(.rsp) .ts-results-sort .ts-pill form { display: contents; }
:where(.rsp) .ts-results-sort select { padding: 6px 24px 6px 2px; }
:where(.rsp) .ts-results-sort .ts-pill svg { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); pointer-events: none; }
:where(.rsp) .ts-results-sort select:hover { color: var(--ts-gold-deep); }
:where(.rsp) .ts-results-sort select:focus-visible { outline: 2px solid var(--gold-700); outline-offset: 2px; border-radius: 6px; }

/* #4629 : l'aperçu rapide 15 % plus petit (440 → 372 px de large, bandeau
   300 → 196 px, marges et textes au prorata, plancher 12 px) : tout se lit
   sans défiler à 1440 px. Portée : la recherche Talents seule (le bandeau est
   partagé avec l'aperçu des candidatures, qui ne change pas). */
:where(.rsp) .ts-qp-drawer { width: 372px; }
:where(.rsp) .ts-qp-nav { right: calc(min(372px, 92vw) + 10px); }
:where(.rsp) .ts-qp-photo { height: 196px; }
:where(.rsp) .ts-qp-id { left: 20px; bottom: 14px; }
:where(.rsp) .ts-qp-name { font-size: 19px; }
:where(.rsp) .ts-qp-role { font-size: 12.5px; }
:where(.rsp) .ts-qp-body { padding: 10px 20px 14px; }
:where(.rsp) .ts-qp-sec { font-size: 12px; margin: 8px 0 5px; }
:where(.rsp) .ts-qp-sec:first-child { margin-top: 0; }
:where(.rsp) .ts-qp-split { gap: 11px; }
:where(.rsp) .ts-qp-pitch { width: 46px; height: 46px; }
:where(.rsp) .ts-qp-pitch-lbl { font-size: 12px; }
:where(.rsp) .ts-qp-split-info { gap: 4px; }
:where(.rsp) .ts-qp-status { font-size: 12px; gap: 11px; }
:where(.rsp) .ts-qp-drawer .ts-avail--md { font-size: 12px; }
:where(.rsp) .ts-qp-tl { padding-left: 19px; }
:where(.rsp) .ts-qp-tl::before { left: 4.25px; }
:where(.rsp) .ts-qp-tl-i { margin-bottom: 5px; }
:where(.rsp) .ts-qp-tl-i::before { left: -19px; top: 3px; width: 10px; height: 10px; }
:where(.rsp) .ts-qp-tl-t { font-size: 12.5px; }
:where(.rsp) .ts-qp-tl-now { font-size: 10px; padding: 0 4px; }
:where(.rsp) .ts-qp-tl-y { font-size: 12px; }
:where(.rsp) .ts-qp-tl-m { font-size: 12px; margin-top: 1px; }
:where(.rsp) .ts-qp-exp { font-size: 12px; line-height: 1.5; }
:where(.rsp) .ts-qp-langs { gap: 5px; }
:where(.rsp) .ts-qp-lg { gap: 10px; }
:where(.rsp) .ts-qp-lg-n { font-size: 12.5px; }
:where(.rsp) .ts-qp-lg-t { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 8px; }
:where(.rsp) .ts-qp-lg-lv { font-size: 12px; margin-top: 0; }
:where(.rsp) .ts-qp-lg-d i { width: 7px; height: 7px; }
:where(.rsp) .ts-qp-chips { gap: 6px; }
:where(.rsp) .ts-qp-chip { font-size: 12px; padding: 3px 8px; }
:where(.rsp) .ts-qp-form, :where(.rsp) .ts-qp-ref { padding: 7px 10px; gap: 10px; }
:where(.rsp) .ts-qp-form-i, :where(.rsp) .ts-qp-ref-a { width: 32px; height: 32px; }
:where(.rsp) .ts-qp-form-i svg { width: 16px; height: 16px; }
:where(.rsp) .ts-qp-form-n, :where(.rsp) .ts-qp-ref-n { font-size: 12.5px; }
:where(.rsp) .ts-qp-form-f, :where(.rsp) .ts-qp-ref-q { font-size: 12px; }
:where(.rsp) .ts-qp-ref-a { font-size: 12px; }
:where(.rsp) .ts-qp-ref-q { margin-top: 1px; line-height: 1.4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
:where(.rsp) .ts-qp-foot { padding: 8px 20px; gap: 8px; }
:where(.rsp) .ts-qp-foot button, :where(.rsp) .ts-qp-foot a { height: 36px; font-size: 12px; border-radius: 11px; }
/* #4734 (Tatianna 09/10) : « Shortlisté », « Sollicitation » et « Voir le
   profil » côte à côte dans 372 px. L'espacement des lettres du téléphone, et
   aucun libellé sur deux lignes dans un bouton d'une ligne. */
:where(.rsp) .ts-qp-foot button, :where(.rsp) .ts-qp-foot a { letter-spacing: 0; gap: 5px; padding: 0 6px; white-space: nowrap; }
/* #4734, recette du 12/10 : à 1440 px, les trois libellés insécables
   dépassaient le pied de 14,5 px, « Voir le profil » touchait le bord droit
   (20 px de marge à gauche, aucune à droite). Gouttière, marge intérieure et
   corps resserrés : les trois tiennent dans 372 − 2 × 20 px. */
:where(.rsp) .ts-qp-foot { gap: 6px; }
:where(.rsp) .ts-qp-foot button, :where(.rsp) .ts-qp-foot a { font-size: 11.5px; gap: 4px; padding: 0 4px; }
/* Au téléphone, les trois ne tiennent plus sur une ligne : « Voir le profil »
   passe dessous, sur toute la largeur. */
@media (max-width: 480px) {
:where(.rsp) .ts-qp-foot { flex-wrap: wrap; }
:where(.rsp) .ts-qp-foot .view-btn { flex: 1 0 100%; }
}
@media (max-width: 480px) {
:where(.rsp) .ts-qp-foot { padding: 10px 14px; gap: 6px; }
:where(.rsp) .ts-qp-foot button, :where(.rsp) .ts-qp-foot a { font-size: 12px; letter-spacing: 0; gap: 4px; }
}

/* #4825 (Tatianna 13/10) : « Trier par » perd son grand cadre, seule la
   pastille de la valeur (« Disponibilité ») garde le sien. Le retrait de
   #4625 ne prenait pas : `:where(.rsp)` ne pèse rien et la feuille
   `recruiter_talent_search.css` (cadre de l'export Lovable) passait devant.
   La racine `.rsp` est écrite en clair, ici seulement. */
.rsp .ts-results-sort { border: none; background: none; padding: 0; box-shadow: none; border-radius: 0; }
.rsp .ts-results-sort .ts-pill { position: relative; padding: 0; background: var(--n-0, #fff); border: 1px solid var(--ts-line); border-radius: 999px; }
.rsp .ts-results-sort .ts-pill:hover { border-color: var(--ts-cream-border); }
.rsp .ts-results-sort select { padding: 6px 28px 6px 14px; }
.rsp .ts-results-sort .ts-pill svg { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); pointer-events: none; }
