.ss-wrap{--ss-y1:#fff0a6;--ss-y2:#ffdf55;--ss-y3:#ffd94a;--ss-ink:#1d2433;--ss-mut:#5f6b7a;--ss-line:#e4e8ee;--ss-card:#fff;max-width:none;margin:0;color:var(--ss-ink);font-family:inherit;line-height:1.55}
.ss-wrap *,.ss-wrap *::before,.ss-wrap *::after{box-sizing:border-box}
.ss-hero{padding:56px 24px 40px;text-align:center;color:#fff;background:linear-gradient(135deg,#1c3a5e,#2c5d8f 55%,#3f7fb5);background-size:cover;background-position:center;border-radius:0 0 16px 16px}
.ss-hero h2{margin:0 0 8px;color:#fff;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;line-height:1.15}
.ss-hero p{margin:0 auto 26px;max-width:640px;color:#eef3f9;font-size:1.05rem}
.ss-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;max-width:980px;margin:0 auto}
.ss-search input[type=search],.ss-search select,.ss-box select{width:100%;min-height:52px;padding:0 14px;border:1px solid #d3dae4;border-radius:10px;background:#fff;color:var(--ss-ink);font:inherit;font-size:1rem}
.ss-search input:focus,.ss-search select:focus,.ss-box select:focus{outline:3px solid rgba(255,217,74,.7);outline-offset:1px}
.ss-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid #e7c744;border-radius:10px;background:linear-gradient(110deg,var(--ss-y1) 0%,var(--ss-y2) 50%,var(--ss-y3) 100%);color:#222!important;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 4px 12px rgba(140,105,0,.14)}
.ss-btn:hover{filter:brightness(.97)}
.ss-alpha{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:18px 12px;background:#f6f8fb}
.ss-pill{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--ss-line);border-radius:999px;background:#fff;color:var(--ss-ink)!important;font-weight:700;text-decoration:none}
a.ss-pill:hover{border-color:#e7c744;background:#fff9d6}
.ss-pill.is-on{background:linear-gradient(110deg,var(--ss-y1),var(--ss-y3));border-color:#e7c744}
.ss-pill.is-off{opacity:.38;cursor:default}
.ss-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;padding:24px clamp(24px,2.8vw,44px);max-width:100%;margin:0 auto}
.ss-box{padding:18px;margin-bottom:18px;border:1px solid var(--ss-line);border-radius:12px;background:#fff}
.ss-box h3{margin:0 0 12px;font-size:1.15rem}
.ss-box label{display:block;margin:0 0 6px;font-weight:700}
.ss-reset{width:100%;margin-top:16px;min-height:46px}
.ss-count{background:#fff7c9;border-color:#f0dd7a}
.ss-count strong{font-size:1.1rem}
.ss-count p{margin:6px 0 0;color:#4d4a33;font-size:.92rem}
.ss-h{margin:0 0 16px;font-size:1.4rem}
.ss-h span{color:var(--ss-mut);font-weight:500;font-size:1rem}
.ss-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ss-card{overflow:hidden;border:1px solid var(--ss-line);border-radius:14px;background:#fff;transition:transform .15s,box-shadow .15s}
.ss-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,40,70,.1)}
.ss-card-link{display:flex;flex-direction:column;height:100%;color:inherit!important;text-decoration:none}
.ss-thumb{display:block;width:100%;height:150px;object-fit:cover}
.ss-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf4ff,#d5e8ff);font-size:42px}
.ss-card-body{display:flex;flex:1;flex-direction:column;gap:8px;padding:14px}
.ss-card h3{margin:0;font-size:1.05rem;line-height:1.3}
.ss-badge{align-self:flex-start;padding:3px 10px;border-radius:999px;background:var(--ss-y2);color:#3b2f00;font-size:.78rem;font-weight:800}
.ss-mini{margin:0;color:var(--ss-mut);font-size:.9rem}
.ss-more{display:inline-block;align-self:flex-start;margin-top:0;position:relative;z-index:1;pointer-events:auto;cursor:pointer;color:#805f00;font-weight:800;font-size:.92rem}
.ss-langs{display:flex;flex-wrap:wrap;gap:12px;color:var(--ss-mut);font-size:.92rem}
.ss-lang{display:inline-flex;align-items:center;gap:6px}
.ss-flag{width:22px;height:15px;border:1px solid #cfd6df;border-radius:2px}
.ss-empty{padding:22px;border:1px solid #f0dd7a;border-radius:12px;background:#fffbe0}
.ss-pager{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:center;margin:26px 0 4px}
.ss-pager a,.ss-pager span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid var(--ss-line);border-radius:9px;background:#fff;color:#805f00;font-weight:700;text-decoration:none}.ss-pager .is-disabled{opacity:.45}.ss-pager .ss-page-status{border:0;background:transparent;color:#475569;padding:0 4px;font-weight:600}
.ss-pager .current{background:var(--ss-y2);border-color:#e7c744;color:#222}
.ss-back{margin:0 0 14px}.ss-back a{color:#805f00;font-weight:700}
.ss-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.ss-profile{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;padding:0;border:1px solid var(--ss-line);border-radius:14px;overflow:hidden;background:#fff}
.ss-pimg{width:100%;height:100%;min-height:210px;object-fit:cover}
.ss-ptext{padding:18px 18px 18px 0}
.ss-ptext h2{margin:8px 0;font-size:1.7rem;line-height:1.2}
.ss-desc{margin-top:10px;color:#2f3a4a}.ss-desc p{margin:0 0 .7em}
.ss-table{padding:18px;border:1px solid #f0dd7a;border-radius:14px;background:#fff3b8}
.ss-table h3{margin:0 0 10px;font-size:1.2rem}
.ss-table table{width:100%;border-collapse:collapse;margin:0;background:transparent}
.ss-table th,.ss-table td{padding:10px 4px;border:0;border-bottom:1px solid rgba(120,88,0,.2);text-align:left;background:transparent;vertical-align:top}
.ss-table th{width:46%;font-weight:600}
.ss-table td{font-weight:700}.ss-table td em{font-weight:400;color:#6c5a1d}
.ss-table tr:last-child th,.ss-table tr:last-child td{border-bottom:0}
.ss-note,.ss-src{margin:10px 0 0;font-size:.82rem;color:#5b4b12}
.ss-share{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.ss-sh{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:10px;color:#fff!important;font-weight:700;text-decoration:none}
.ss-sh svg{width:22px;height:22px;flex:none}
.ss-sh.fb{background:#1877f2}.ss-sh.in{background:#0a66c2}.ss-sh.wa{background:#1fab57}.ss-sh.em{background:#e8ebef;color:#222!important}
.ss-sh:hover{filter:brightness(.94)}
.ss-faq{padding:18px;border:1px solid var(--ss-line);border-radius:14px;background:#fff}
.ss-faq h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.3rem}
.ss-q{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--ss-y2);font-weight:800}
.ss-item{border-top:1px solid var(--ss-line)}
.ss-item summary{display:flex;gap:8px;align-items:center;padding:13px 4px;cursor:pointer;font-weight:600;list-style:none}
.ss-item summary::-webkit-details-marker{display:none}
.ss-item summary::after{content:"+";margin-left:auto;font-size:1.4rem;line-height:1}
.ss-item[open] summary::after{content:"–"}
.ss-n{color:var(--ss-mut);font-weight:500}
.ss-a{padding:0 4px 14px 26px;color:#2f3a4a}.ss-a ul{margin:8px 0 0 18px}
.ss-more-btn{display:none;margin:14px auto 0;padding:11px 24px;border:2px solid #e7c744;border-radius:999px;background:#fff;font:inherit;font-weight:800;cursor:pointer}
.ss-js .ss-more-btn{display:block}
.ss-js .ss-faq:not(.is-open) .is-extra{display:none}
@media(max-width:1100px){.ss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-detail{grid-template-columns:1fr}}
@media(max-width:820px){.ss-layout{grid-template-columns:1fr}.ss-search{grid-template-columns:1fr 1fr}.ss-search input[type=search]{grid-column:1/-1}.ss-search .ss-btn{grid-column:1/-1}.ss-profile{grid-template-columns:1fr}.ss-ptext{padding:0 16px 16px}.ss-pimg{min-height:180px;max-height:240px}}
@media(max-width:560px){.ss-grid{grid-template-columns:1fr}.ss-search{grid-template-columns:1fr}.ss-hero{padding:36px 16px 28px}.ss-sh{width:100%}}

/* Pleine largeur : sort de la colonne centrale du thème et occupe toute la fenêtre */
.ss-wrap.ss-full{width:100vw;max-width:100vw;position:relative;left:50%;margin-left:-50vw;margin-right:0}
body.ss-page{overflow-x:hidden}
.ss-wrap.ss-full .ss-hero{border-radius:0;padding:64px clamp(16px,4vw,64px) 48px}
.ss-wrap.ss-full .ss-alpha{padding:18px clamp(12px,4vw,64px)}
.ss-wrap.ss-full .ss-layout{padding:28px clamp(20px,2.8vw,44px);grid-template-columns:300px minmax(0,1fr)}
.ss-wrap.ss-full .ss-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ss-wrap.ss-full .ss-detail{grid-template-columns:minmax(0,1fr) 420px}
/* Mode « contenu » : [salaire_suisse largeur="contenu"] */
.ss-wrap.ss-boxed{max-width:1240px;margin:0 auto}
@media(max-width:1000px){.ss-wrap.ss-full .ss-detail{grid-template-columns:1fr}}
@media(max-width:820px){.ss-wrap.ss-full .ss-layout{grid-template-columns:1fr}}

/* v1.8.3 — marge réellement appliquée au bloc filtres + résultats, même si le thème surcharge le padding */
.ss-wrap.ss-full .ss-layout{
  width:calc(100% - 88px)!important;
  max-width:1770px!important;
  margin:0 auto!important;
  padding:28px 0!important;
  box-sizing:border-box!important;
}
@media(max-width:1000px){
  .ss-wrap.ss-full .ss-layout{width:calc(100% - 48px)!important}
}
@media(max-width:560px){
  .ss-wrap.ss-full .ss-layout{width:calc(100% - 28px)!important}
}

/* v1.8.4 — supprimer le titre WordPress au-dessus du bandeau sur la page Salaire suisse */
body.ss-page .entry-title,
body.ss-page .page-title,
body.ss-page .entry-header,
body.ss-page .page-header,
body.ss-page .wp-block-post-title {
  display: none !important;
}
body.ss-page .site-main,
body.ss-page .content-area,
body.ss-page .site-content,
body.ss-page .content-container,
body.ss-page article.page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.ss-page .ss-wrap.ss-full .ss-hero {
  padding-top: 36px !important;
  padding-bottom: 32px !important;
}

/* v1.8.5 — masquer le bandeau de titre du thème qui précède le shortcode.
   Le sélecteur :has() permet de détecter la page qui contient Salaire suisse,
   même si le thème n'ajoute pas body.ss-page. */
html:has(.ss-wrap.ss-full) .entry-header,
html:has(.ss-wrap.ss-full) .entry-title,
html:has(.ss-wrap.ss-full) .page-header,
html:has(.ss-wrap.ss-full) .page-title,
html:has(.ss-wrap.ss-full) .page-title-area,
html:has(.ss-wrap.ss-full) .page-heading,
html:has(.ss-wrap.ss-full) .titlebar,
html:has(.ss-wrap.ss-full) .breadcrumb-area {
  display: none !important;
}
html:has(.ss-wrap.ss-full) .site-main,
html:has(.ss-wrap.ss-full) .content-area,
html:has(.ss-wrap.ss-full) .site-content,
html:has(.ss-wrap.ss-full) .content-container,
html:has(.ss-wrap.ss-full) article.page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html:has(.ss-wrap.ss-full) .ss-hero {
  padding-top: 24px !important;
}

/* Version 1.9.3 : les styles des drapeaux sont intégrés dans la page (#ss-flags-critical), donc indépendants du cache de cette feuille. */
.ss-search select{min-width:180px}
@media(max-width:760px){.ss-search{flex-wrap:wrap}.ss-search input,.ss-search select,.ss-search .ss-btn{width:100%;max-width:100%}}

/* Version 1.9.8 : extrait de 4 lignes maximum sur les cartes, description de catégorie */
.ss-excerpt{margin:0;color:#475569;font-size:.92rem;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;}
.ss-cat-desc{margin:0 0 18px;padding:14px 18px;background:#fff;border:1px solid #e3e8ef;border-left:4px solid #f5c400;border-radius:10px}
.ss-cat-desc h3{margin:0 0 6px;font-size:1.1rem}.ss-cat-desc p{margin:0 0 8px;color:#475569}.ss-cat-desc p:last-child{margin-bottom:0}

/* v1.9.14 — grille 4 colonnes et pagination compacte précédent/suivant */
@media(max-width:1100px){.ss-wrap.ss-full .ss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ss-wrap.ss-full .ss-grid{grid-template-columns:1fr}.ss-pager{gap:7px}.ss-pager a,.ss-pager span{padding:0 11px;font-size:.9rem}}

/* Pagination: numéro de page actif */
.ss-page-btn.is-current{background:var(--ss-primary,#1769aa);color:#fff;border-color:var(--ss-primary,#1769aa);font-weight:700}


/* v1.9.21 — cartes à hauteur naturelle : le lien suit directement l’extrait */
.ss-wrap.ss-full .ss-card{height:auto!important;align-self:start!important}
.ss-wrap.ss-full .ss-card-link{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;text-decoration:none!important}
.ss-wrap.ss-full .ss-card-body{display:flex!important;flex:0 0 auto!important;flex-grow:0!important;min-height:0!important;flex-direction:column!important;gap:3px!important;padding:14px!important}
.ss-wrap.ss-full .ss-card-body .ss-excerpt{margin:0!important;padding:0!important;flex:0 0 auto!important}


/* v1.9.22 — le lien « Voir le tableau » devient un bouton aux couleurs du thème, collé à l’extrait (aussi intégré dans la page) */
.ss-wrap .ss-card{height:auto!important;align-self:start!important}
.ss-wrap .ss-card-link{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;text-decoration:none!important}
.ss-wrap .ss-card-body{display:flex!important;flex:0 0 auto!important;min-height:0!important;flex-direction:column!important;gap:6px!important;padding:14px!important}
.ss-wrap .ss-card-body h3{margin:0!important}
.ss-wrap .ss-card-body .ss-excerpt{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;line-clamp:4!important;overflow:hidden!important;margin:0!important;padding:0!important;line-height:1.5!important;max-height:none!important;text-align:left!important;flex:0 0 auto!important}
.ss-wrap .ss-card-body .ss-more{display:inline-flex!important;align-items:center!important;gap:6px!important;align-self:flex-start!important;margin:6px 0 0!important;padding:9px 16px!important;border:1px solid #e7c744!important;border-radius:10px!important;background:linear-gradient(110deg,#fff0a6 0%,#ffdf55 50%,#ffd94a 100%)!important;color:#222!important;font-weight:800!important;font-size:.92rem!important;line-height:1.2!important;text-decoration:none!important;box-shadow:0 1px 2px rgba(0,0,0,.08)!important;cursor:pointer!important;pointer-events:auto!important;transition:filter .15s,transform .15s}
.ss-wrap .ss-card-link:hover .ss-more,.ss-wrap .ss-card-link:focus .ss-more{filter:brightness(.96);transform:translateY(-1px)}


/* 1.9.31 — Stabiliser le bouton Réinitialiser dans le panneau Filtres
   Certaines feuilles de style du thème appliquent des largeurs/positions aux liens. */
.ss-wrap .ss-side,
.ss-wrap .ss-side .ss-box {
  min-width: 0;
  max-width: 100%;
}
.ss-wrap .ss-side .ss-box select,
.ss-wrap .ss-side .ss-box .ss-reset {
  box-sizing: border-box !important;
  display: flex !important;
  float: none !important;
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}
.ss-wrap .ss-side .ss-box .ss-reset {
  align-self: stretch;
  justify-content: center;
  white-space: normal;
}

/* 1.9.32: isolated vertical stack prevents theme styles from shifting filter controls */
.ss-wrap .ss-side .ss-box .ss-filter-controls {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
}
.ss-wrap .ss-side .ss-box .ss-filter-controls > select,
.ss-wrap .ss-side .ss-box .ss-filter-controls > a.ss-reset {
  display: flex !important;
  flex: 0 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
}
.ss-wrap .ss-side .ss-box .ss-filter-controls > select {
  display: block !important;
}


/* 1.9.33 — Correctif ciblé : panneau filtres et centrage du lien-bouton des cartes.
   La version est utilisée comme version d'asset pour invalider le cache CSS WordPress. */
.ss-wrap.ss-full .ss-layout > .ss-side {
  min-width: 0 !important;
  width: 100% !important;
}
.ss-wrap.ss-full .ss-layout > .ss-side > .ss-box:first-child {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.ss-wrap.ss-full .ss-layout > .ss-side > .ss-box:first-child .ss-filter-controls {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.ss-wrap.ss-full .ss-layout > .ss-side > .ss-box:first-child .ss-filter-controls select,
.ss-wrap.ss-full .ss-layout > .ss-side > .ss-box:first-child .ss-filter-controls a.ss-reset {
  box-sizing: border-box !important;
  display: flex !important;
  float: none !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  justify-self: stretch !important;
}
.ss-wrap .ss-card-body .ss-more,
.ss-wrap.ss-full .ss-card-body .ss-more {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  text-align: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 12px auto 0 !important;
}

/* 1.9.35 — empêcher la description du compteur de métiers de déborder */
.ss-wrap .ss-side .ss-box.ss-count {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.ss-wrap .ss-side .ss-box.ss-count p {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* 1.9.36 — empêcher la description de catégorie de sortir de son encadré */
.ss-wrap .ss-cat-desc {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
}
.ss-wrap .ss-cat-desc p,
.ss-wrap .ss-cat-desc div {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
}
.ss-wrap .ss-cat-desc h3 {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* 1.9.37 — empêcher le titre, l'extrait et le bouton des cartes de déborder */
.ss-wrap .ss-grid { width:100% !important; min-width:0 !important; }
.ss-wrap .ss-grid > .ss-card { box-sizing:border-box !important; min-width:0 !important; max-width:100% !important; overflow:hidden !important; }
.ss-wrap .ss-card-link, .ss-wrap .ss-card-body { box-sizing:border-box !important; width:100% !important; min-width:0 !important; max-width:100% !important; }
.ss-wrap .ss-card-body > * { box-sizing:border-box !important; min-width:0 !important; max-width:100% !important; overflow-wrap:anywhere !important; word-wrap:break-word !important; }
.ss-wrap .ss-card-body h3, .ss-wrap .ss-card-body .ss-badge, .ss-wrap .ss-card-body .ss-excerpt { white-space:normal !important; overflow-wrap:anywhere !important; max-width:100% !important; }
.ss-wrap .ss-card-body .ss-more { box-sizing:border-box !important; display:flex !important; align-items:center !important; justify-content:center !important; align-self:center !important; width:max-content !important; max-width:100% !important; white-space:normal !important; overflow-wrap:anywhere !important; text-align:center !important; flex-wrap:wrap !important; margin:12px auto 0 !important; padding:9px 12px !important; }
@media(max-width:1100px) { .ss-wrap .ss-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:560px) { .ss-wrap .ss-grid { grid-template-columns:minmax(0,1fr) !important; } }


/* v1.9.50 — mise en page mobile des fiches métiers */
@media (max-width: 767px) {
  .ss-wrap,
  .ss-wrap.ss-full,
  .ss-wrap.ss-boxed {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ss-wrap .ss-detail,
  .ss-wrap.ss-full .ss-detail {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .ss-wrap .ss-profile {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .ss-wrap .ss-pimg {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    min-height: 0 !important;
    max-height: 220px !important;
    object-fit: cover;
  }
  .ss-wrap .ss-ptext {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 16px !important;
    overflow-wrap: anywhere !important;
  }
  .ss-wrap .ss-ptext h2,
  .ss-wrap .ss-ptext p,
  .ss-wrap .ss-desc,
  .ss-wrap .ss-table,
  .ss-wrap .ss-faq {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
  }
  .ss-wrap .ss-table { box-sizing: border-box !important; width: 100% !important; padding: 12px !important; overflow-x: auto !important; }
  .ss-wrap .ss-table table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
  .ss-wrap .ss-table th { width: 46% !important; }
  .ss-wrap .ss-table th,
  .ss-wrap .ss-table td { box-sizing: border-box !important; padding: 9px 5px !important; overflow-wrap: anywhere !important; word-break: normal !important; }
  .ss-wrap .ss-share .ss-sh { box-sizing: border-box !important; max-width: 100% !important; }
}


/* v1.9.51 — correctifs mobiles pour éviter tout débordement horizontal */
@media (max-width: 600px) {
  .ss-wrap,
  .ss-wrap.ss-full,
  .ss-wrap.ss-boxed {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: clip;
  }
  .ss-wrap.ss-full .ss-hero {
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px 14px 24px !important;
    overflow-wrap: anywhere;
  }
  .ss-wrap.ss-full .ss-alpha {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 8px !important;
    gap: 6px;
  }
  .ss-wrap.ss-full .ss-layout,
  .ss-wrap .ss-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px 12px !important;
    gap: 16px !important;
    box-sizing: border-box !important;
  }
  .ss-wrap .ss-layout > *,
  .ss-wrap .ss-box,
  .ss-wrap .ss-count,
  .ss-wrap .ss-detail,
  .ss-wrap .ss-profile,
  .ss-wrap .ss-table,
  .ss-wrap .ss-faq,
  .ss-wrap .ss-grid,
  .ss-wrap .ss-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .ss-wrap .ss-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .ss-wrap .ss-search input,
  .ss-wrap .ss-search select,
  .ss-wrap .ss-search button,
  .ss-wrap .ss-search .ss-btn,
  .ss-wrap .ss-box select,
  .ss-wrap .ss-reset {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .ss-wrap .ss-count p,
  .ss-wrap .ss-mini,
  .ss-wrap .ss-desc,
  .ss-wrap .ss-ptext,
  .ss-wrap .ss-card-body,
  .ss-wrap .ss-box,
  .ss-wrap .ss-table {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .ss-wrap .ss-profile { grid-template-columns: minmax(0, 1fr) !important; }
  .ss-wrap .ss-pimg { display: block; width: 100%; max-width: 100%; height: auto; min-height: 0; max-height: 240px; object-fit: cover; }
  .ss-wrap .ss-ptext { padding: 14px !important; }
  .ss-wrap .ss-detail { grid-template-columns: minmax(0, 1fr) !important; }
  .ss-wrap .ss-table { padding: 12px !important; overflow-x: auto; }
  .ss-wrap .ss-table table { width: 100% !important; max-width: 100% !important; table-layout: fixed; }
  .ss-wrap .ss-table th,
  .ss-wrap .ss-table td { padding: 8px 4px; overflow-wrap: anywhere; }
  .ss-wrap .ss-sh { max-width: 100%; box-sizing: border-box; }
  .ss-wrap .ss-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* v1.9.52 — correctif du conteneur pleine largeur sur petit écran */
@media(max-width:560px){.ss-wrap.ss-full{width:100%!important;max-width:100%!important;left:auto!important;margin-left:0!important;margin-right:0!important;overflow-x:hidden!important}.ss-wrap.ss-full .ss-layout{width:100%!important;max-width:100%!important;margin:0 auto!important;padding:16px 12px!important;box-sizing:border-box!important;grid-template-columns:minmax(0,1fr)!important}.ss-wrap.ss-full .ss-layout>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.ss-wrap .ss-count p{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}.ss-wrap .ss-filter-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.ss-wrap .ss-filter-controls>*{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}}


/* v1.9.53 — correction mobile ciblée : FAQ, tableaux et conteneurs */
@media (max-width: 767px) {
  .ss-wrap,
  .ss-wrap.ss-full,
  .ss-wrap.ss-boxed {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    overflow-x: clip !important;
  }
  .ss-wrap *,
  .ss-wrap *::before,
  .ss-wrap *::after {
    box-sizing: border-box;
  }
  .ss-wrap .ss-faq,
  .ss-wrap .ss-faq-list,
  .ss-wrap .ss-item,
  .ss-wrap .ss-a,
  .ss-wrap .ss-table,
  .ss-wrap .ss-ptext,
  .ss-wrap .ss-desc,
  .ss-wrap .ss-count {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .ss-wrap .ss-faq { overflow: hidden !important; }
  .ss-wrap .ss-item summary {
    display: grid !important;
    grid-template-columns: 1.5em minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 0.45em !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .ss-wrap .ss-item summary .ss-n {
    min-width: 0 !important;
  }
  .ss-wrap .ss-item summary,
  .ss-wrap .ss-item summary *,
  .ss-wrap .ss-a,
  .ss-wrap .ss-a * {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .ss-wrap .ss-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .ss-wrap .ss-table table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }
  .ss-wrap .ss-table th,
  .ss-wrap .ss-table td {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .ss-wrap .ss-ptext h1,
  .ss-wrap .ss-ptext h2,
  .ss-wrap .ss-ptext p,
  .ss-wrap .ss-count p,
  .ss-wrap .ss-mini,
  .ss-wrap .ss-desc {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* v1.9.54 — fix robuste des débordements sur mobile */
@media (max-width: 767px) {
  .ss-wrap, .ss-wrap.ss-full, .ss-wrap.ss-boxed,
  .ss-wrap * { box-sizing: border-box !important; min-width: 0 !important; }
  .ss-wrap, .ss-wrap.ss-full, .ss-wrap.ss-boxed {
    width: 100% !important; max-width: 100% !important;
    margin-left: 0 !important; margin-right: 0 !important;
    left: auto !important; right: auto !important;
    overflow-x: hidden !important;
  }
  .ss-wrap .ss-layout { width: 100% !important; max-width: 100% !important; padding: 12px !important; grid-template-columns: minmax(0,1fr) !important; }
  .ss-wrap .ss-detail, .ss-wrap .ss-profile { width: 100% !important; max-width: 100% !important; grid-template-columns: minmax(0,1fr) !important; }
  .ss-wrap .ss-faq, .ss-wrap .ss-faq-list, .ss-wrap .ss-item,
  .ss-wrap .ss-item summary, .ss-wrap .ss-a,
  .ss-wrap .ss-ptext, .ss-wrap .ss-desc, .ss-wrap .ss-count,
  .ss-wrap .ss-count p, .ss-wrap .ss-mini, .ss-wrap .ss-table,
  .ss-wrap .ss-table table, .ss-wrap .ss-table th, .ss-wrap .ss-table td {
    width: auto !important; max-width: 100% !important;
    white-space: normal !important; overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .ss-wrap .ss-table { overflow-x: hidden !important; }
  .ss-wrap .ss-table table { table-layout: fixed !important; }
  .ss-wrap .ss-table th, .ss-wrap .ss-table td { padding: 8px 4px !important; }
  .ss-wrap .ss-search, .ss-wrap .ss-filter-controls { grid-template-columns: minmax(0,1fr) !important; }
  .ss-wrap .ss-search > *, .ss-wrap .ss-filter-controls > * { width: 100% !important; max-width: 100% !important; }
}


/* v1.9.56 — corrections structurelles desktop et mobile */
.ss-wrap .ss-layout,
.ss-wrap .ss-layout > *,
.ss-wrap .ss-detail,
.ss-wrap .ss-detail > *,
.ss-wrap .ss-profile,
.ss-wrap .ss-ptext,
.ss-wrap .ss-desc,
.ss-wrap .ss-table,
.ss-wrap .ss-faq {
  min-width: 0 !important;
  max-width: 100%;
}
.ss-wrap .ss-detail { grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); }
.ss-wrap .ss-profile { grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); }
.ss-wrap .ss-ptext, .ss-wrap .ss-desc, .ss-wrap .ss-desc p,
.ss-wrap .ss-faq, .ss-wrap .ss-item summary, .ss-wrap .ss-a,
.ss-wrap .ss-table th, .ss-wrap .ss-table td, .ss-wrap .ss-src, .ss-wrap .ss-note {
  overflow-wrap: anywhere; word-break: normal;
}
.ss-wrap .ss-table table { width: 100%; max-width: 100%; table-layout: fixed; }
.ss-wrap .ss-table th { width: 46%; }
.ss-wrap .ss-table td { width: 54%; }
.ss-wrap .ss-filter-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ss-wrap .ss-filter-heading h3, .ss-wrap .ss-filter-heading label { margin:0 0 12px; }
@media (max-width: 900px) {
  .ss-wrap .ss-detail { grid-template-columns: minmax(0, 1fr); }
  .ss-wrap .ss-profile { grid-template-columns: minmax(0, 1fr); }
  .ss-wrap .ss-pimg { width:100%; max-width:100%; height:auto; max-height:320px; object-fit:cover; }
}
@media (max-width: 767px) {
  .ss-wrap .ss-layout { grid-template-columns:minmax(0,1fr) !important; padding:16px 12px !important; }
  .ss-wrap .ss-detail, .ss-wrap .ss-profile { grid-template-columns:minmax(0,1fr) !important; }
  .ss-wrap .ss-ptext { padding:16px !important; }
  .ss-wrap .ss-table { overflow:hidden !important; padding:14px !important; }
  .ss-wrap .ss-table th, .ss-wrap .ss-table td { padding:8px 3px !important; }
  .ss-wrap .ss-item summary { align-items:flex-start !important; }
  .ss-wrap .ss-item summary::after { flex:0 0 auto; }
}


/* v1.9.57 — correction ciblée des débordements réels du contenu et de l'en-tête des filtres.
   Ces règles sont volontairement placées en fin de fichier pour l'emporter sur les anciennes règles. */
.ss-wrap .ss-layout,
.ss-wrap .ss-layout > *,
.ss-wrap .ss-main,
.ss-wrap .ss-detail,
.ss-wrap .ss-detail > *,
.ss-wrap .ss-profile,
.ss-wrap .ss-ptext,
.ss-wrap .ss-desc,
.ss-wrap .ss-desc > *,
.ss-wrap .ss-table,
.ss-wrap .ss-faq,
.ss-wrap .ss-faq-list,
.ss-wrap .ss-item,
.ss-wrap .ss-a,
.ss-wrap .ss-note,
.ss-wrap .ss-src {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Autorise explicitement les textes à revenir à la ligne, même si le thème impose nowrap. */
.ss-wrap .ss-ptext,
.ss-wrap .ss-ptext *,
.ss-wrap .ss-desc,
.ss-wrap .ss-desc *,
.ss-wrap .ss-table,
.ss-wrap .ss-table *,
.ss-wrap .ss-faq,
.ss-wrap .ss-faq *,
.ss-wrap .ss-note,
.ss-wrap .ss-src {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.ss-wrap .ss-detail {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  align-items: start !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.ss-wrap .ss-profile {
  display: grid !important;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) !important;
  width: 100% !important;
  overflow: hidden !important;
}
.ss-wrap .ss-pimg { min-width: 0 !important; max-width: 100% !important; }
.ss-wrap .ss-ptext { overflow: hidden !important; }
.ss-wrap .ss-ptext h1,
.ss-wrap .ss-ptext h2,
.ss-wrap .ss-ptext h3,
.ss-wrap .ss-desc p,
.ss-wrap .ss-desc li,
.ss-wrap .ss-note,
.ss-wrap .ss-src {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.ss-wrap .ss-table { overflow: hidden !important; }
.ss-wrap .ss-table table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}
.ss-wrap .ss-table th,
.ss-wrap .ss-table td {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Filtres : impose une vraie ligne à deux colonnes, même si le thème
   applique des styles globaux aux titres et aux labels. */
.ss-wrap .ss-side > .ss-box:first-child .ss-filter-heading {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: baseline !important;
  justify-content: initial !important;
  flex-wrap: nowrap !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.ss-wrap .ss-side > .ss-box:first-child .ss-filter-heading h3,
.ss-wrap .ss-side > .ss-box:first-child .ss-filter-heading label {
  display: block !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  white-space: nowrap !important;
  transform: none !important;
}
.ss-wrap .ss-side > .ss-box:first-child .ss-filter-heading label {
  justify-self: end !important;
  text-align: right !important;
}

@media (max-width: 1100px) {
  .ss-wrap .ss-detail { grid-template-columns: minmax(0, 1fr) !important; }
  .ss-wrap .ss-table { width: 100% !important; }
}
@media (max-width: 767px) {
  .ss-wrap,
  .ss-wrap.ss-full,
  .ss-wrap.ss-boxed {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: clip !important;
  }
  .ss-wrap .ss-layout { grid-template-columns: minmax(0, 1fr) !important; padding: 16px 12px !important; }
  .ss-wrap .ss-detail,
  .ss-wrap .ss-profile { grid-template-columns: minmax(0, 1fr) !important; }
  .ss-wrap .ss-pimg { width: 100% !important; height: auto !important; max-height: 280px !important; object-fit: cover !important; }
  .ss-wrap .ss-ptext { padding: 16px !important; }
  .ss-wrap .ss-table { padding: 12px !important; }
  .ss-wrap .ss-filter-heading { flex-wrap: nowrap !important; }
}

/* v1.9.59 — empêcher les textes longs de dépasser des fiches métier et du tableau récapitulatif */
.ss-wrap .ss-detail,
.ss-wrap .ss-profile,
.ss-wrap .ss-ptext,
.ss-wrap .ss-desc,
.ss-wrap .ss-table {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.ss-wrap .ss-ptext,
.ss-wrap .ss-desc,
.ss-wrap .ss-desc * ,
.ss-wrap .ss-table,
.ss-wrap .ss-table *,
.ss-wrap .ss-note,
.ss-wrap .ss-src {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.ss-wrap .ss-table table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}
.ss-wrap .ss-table th,
.ss-wrap .ss-table td {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* v1.9.60 — le thème impose un texte sur une seule ligne (white-space / text-wrap: nowrap) :
   on reprend la main avec une spécificité supérieure et les propriétés modernes. */
html body .ss-wrap .ss-profile,
html body .ss-wrap .ss-ptext,
html body .ss-wrap .ss-desc,
html body .ss-wrap .ss-table {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
html body .ss-wrap .ss-ptext,
html body .ss-wrap .ss-ptext :is(h1,h2,h3,p,li,span,div,em,strong,a),
html body .ss-wrap .ss-desc,
html body .ss-wrap .ss-desc :is(p,li,span,div,em,strong,a,pre,code),
html body .ss-wrap .ss-table,
html body .ss-wrap .ss-table :is(h3,table,tbody,tr,th,td,p,em,strong,span),
html body .ss-wrap .ss-note,
html body .ss-wrap .ss-src {
  white-space: normal !important;
  white-space-collapse: collapse !important;
  text-wrap-mode: wrap !important;
  text-wrap: wrap !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto;
  max-width: 100% !important;
  min-width: 0 !important;
}
html body .ss-wrap .ss-desc pre {
  white-space: pre-wrap !important;
}
html body .ss-wrap .ss-table table {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
}
html body .ss-wrap .ss-table :is(th,td) {
  width: auto !important;
  vertical-align: top;
}
html body .ss-wrap .ss-ptext { overflow: visible !important; }

/* v1.9.62 — FAQ : largeur limitée (alignée sur la fin de la rangée de boutons de partage) et jamais plus large que l'écran */
html body .ss-wrap .ss-faq {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1165px !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  overflow: hidden !important;
}
html body .ss-wrap .ss-faq-list,
html body .ss-wrap .ss-faq .ss-item,
html body .ss-wrap .ss-faq summary {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html body .ss-wrap .ss-faq summary {
  overflow-wrap: break-word !important;
  white-space: normal !important;
}
@media (max-width: 767px) {
  html body .ss-wrap .ss-faq {
    max-width: 100% !important;
    padding: 14px 12px !important;
  }
  html body .ss-wrap .ss-faq h3 { font-size: 1.1rem !important; flex-wrap: wrap; }
}

/* v1.9.63 — la FAQ a exactement la largeur de la rangée de boutons de partage :
   le conteneur prend la largeur des boutons, la FAQ (largeur 0 + min-width 100 %) s'y étire sans l'élargir. */
html body .ss-wrap .ss-share-faq {
  display: block !important;
  box-sizing: border-box !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html body .ss-wrap .ss-share-faq section.ss-faq {
  width: 0 !important;
  min-width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Drapeaux de langue masqués/supprimés à la demande. */
.ss-language-flags, .ss-language-flag, .ss-lang, .ss-flag, .ss-uiflag { display:none !important; }
