:root {

  --cat-accent: #2B5BA3;

  --cat-accent-dark: #1e4678;

  --cat-accent-light: #3a72b8;

  --cat-border: #d8e3f0;

  --cat-muted: #5f646b;

  --cat-soft-bg: #eef3fa;

  --cat-warn: #e7a61a;

}



#HomeContent {

  display: block;

  width: 100%;

  clear: both;

  padding: 0 0 24px;

}



#Texte.category-page {

  display: block;

  clear: both;

  width: 100%;

  max-width: 1100px;

  margin: 20px auto 0;

  padding: 28px;

  border: 1px solid var(--cat-border);

  border-radius: 16px;

  background: #ffffff;

  box-shadow: 0 10px 24px rgba(43, 91, 163, 0.08);

  text-align: left;

  line-height: 1.65;

  font-size: 15px;

  color: #424242;

}



.category-article {

  max-width: 100%;

}



#Texte.category-page > h2:first-child,

.category-article > h2:first-child {

  margin: 0 0 20px;

  padding: 0 0 14px;

  border-bottom: 2px solid var(--cat-accent);

  background: none;

  font-size: clamp(1.5rem, 2.5vw, 2rem);

  line-height: 1.2;

  color: var(--cat-accent);

}



#Texte.category-page h3,

.category-article h3 {

  margin: 0 0 12px;

  color: var(--cat-accent-dark);

  font-size: 1.35rem;

  line-height: 1.25;

}



#Texte.category-page h4,

.category-article h4 {

  margin: 18px 0 8px;

  color: var(--cat-accent);

  font-size: 1.05rem;

  line-height: 1.3;

}



#Texte.category-page p,

.category-article p {

  margin: 0 0 14px;

}



#Texte.category-page ul,

#Texte.category-page ol,

.category-article ul,

.category-article ol {

  margin: 0 0 16px;

  padding-left: 22px;

}



#Texte.category-page li,

.category-article li {

  margin-bottom: 8px;

}



#Texte.category-page ul ul,

.category-article ul ul {

  margin-top: 8px;

  margin-bottom: 8px;

}



#Texte.category-page img {

  max-width: 100%;

  height: auto;

  border-radius: 8px;

}



#Texte.category-page a {

  color: var(--cat-accent);

}



/* Table des matières */

nav.category-toc,

.category-toc {

  margin: 0 0 28px;

  padding: 18px 20px;

  border: 1px solid var(--cat-border);

  border-radius: 12px;

  background: linear-gradient(180deg, var(--cat-soft-bg) 0%, #ffffff 100%);

}



.category-toc-heading {

  margin: 0 0 12px;

  color: var(--cat-accent-dark);

  font-size: 13px;

  font-weight: 700;

  letter-spacing: 0.06em;

  text-transform: uppercase;

}



.category-toc-list {

  margin: 0;

  padding: 0;

  list-style: none;

  columns: 2;

  column-gap: 24px;

}



.category-toc-list li {

  break-inside: avoid;

  margin-bottom: 6px;

  padding-left: 0;

}



.category-toc-list a {

  color: #424242;

  text-decoration: none;

  font-size: 14px;

  line-height: 1.45;

}



.category-toc-list a:hover,

.category-toc-list a:focus {

  color: var(--cat-accent);

  text-decoration: underline;

}



/* Ancien markup : « Dans cette section » sans nav */

#Texte.category-page > strong:first-of-type,

#Texte.category-page > h2 + p strong,

.category-article > strong:first-of-type {

  display: block;

  margin: 0 0 10px;

  color: var(--cat-accent-dark);

  font-size: 13px;

  letter-spacing: 0.06em;

  text-transform: uppercase;

}



#Texte.category-page > strong:first-of-type + p,

.category-article > strong:first-of-type + p {

  margin-bottom: 6px;

  font-weight: 600;

  color: #2f3d52;

}



#Texte.category-page > strong:first-of-type + p + ul,

#Texte.category-page > h2 + p + ul,

.category-article > strong:first-of-type + p + ul {

  margin-bottom: 28px;

  padding: 16px 20px 16px 36px;

  border: 1px solid var(--cat-border);

  border-radius: 12px;

  background: var(--cat-soft-bg);

  columns: 2;

  column-gap: 20px;

}



/* Sections */

.category-sections {

  display: block;

}



.category-section {

  margin-bottom: 32px;

  padding-bottom: 24px;

  border-bottom: 1px solid #e8eef5;

}



.category-section:last-child {

  margin-bottom: 0;

  padding-bottom: 0;

  border-bottom: 0;

}



/* Titres legacy (strong direct) */

#Texte.category-page > strong:not(:first-of-type),

.category-article > strong:not(:first-of-type) {

  display: block;

  margin: 28px 0 12px;

  padding: 10px 14px;

  border-left: 4px solid var(--cat-accent);

  border-radius: 0 8px 8px 0;

  background: linear-gradient(90deg, var(--cat-soft-bg) 0%, #ffffff 100%);

  color: var(--cat-accent-dark);

  font-size: 1.05rem;

  font-weight: 700;

  line-height: 1.35;

}



.category-callout {

  margin: 20px 0;

  padding: 14px 16px;

  border-left: 4px solid var(--cat-warn);

  border-radius: 0 10px 10px 0;

  background: #fff9ec;

  color: #4a4030;

  font-size: 14px;

  line-height: 1.6;

}



.category-callout strong {

  display: block;

  margin-bottom: 6px;

  color: #7a5a12;

}



.category-disclaimer {

  margin-top: 28px;

  padding: 16px 18px;

  border: 1px solid var(--cat-border);

  border-radius: 10px;

  background: #f8f9fb;

  color: var(--cat-muted);

  font-size: 13px;

  line-height: 1.6;

  font-style: italic;

}



.category-promo {

  margin: 0 0 24px;

  padding-bottom: 20px;

  border-bottom: 1px solid #e8eef5;

}



.category-promo h2 {

  margin-bottom: 12px !important;

  padding-bottom: 0 !important;

  border-bottom: 0 !important;

  font-size: 1.1rem !important;

  color: var(--cat-muted) !important;

  text-transform: uppercase;

  letter-spacing: 0.04em;

}



.category-promo img {

  display: block;

  max-width: 100%;

  height: auto;

}



#Recherche_2 {

  height: auto !important;

  min-height: 0;

  padding: 16px;

  margin: 16px 0 0;

  clear: both;

  background: linear-gradient(rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.82)), url(/images/recherche_2_bg.gif) repeat-x bottom;

  border: 1px solid var(--cat-border);

  border-radius: 12px;

  box-sizing: border-box;

  width: 100%;

}



#Recherche_2 .searchCard {

  max-width: 760px;

  margin: 0 auto;

  padding: 14px 16px;

  border-radius: 12px;

  background: linear-gradient(160deg, rgba(255, 255, 255, 0.78) 0%, rgba(238, 245, 251, 0.82) 100%);

  border: 1px solid var(--cat-border);

  box-shadow: 0 10px 26px rgba(43, 91, 163, 0.12);

}



#Recherche_2 .searchIntro {

  margin: 0 0 12px;

  color: var(--cat-muted);

  font-size: 14px;

}



#Recherche_2 .searchSection {

  display: flex;

  flex-direction: column;

  gap: 4px;

  margin-bottom: 10px;

}



#Recherche_2 .searchStepLabel {

  display: block;

  color: #424242;

  font-size: 13px;

  line-height: 1.3;

}



#Recherche_2 .searchStepLabel .titreHome {

  font-size: 16px;

  margin-right: 4px;

  color: var(--cat-accent);

}



#Recherche_2 .searchStepLabel .sousTitreHome {

  display: inline;

  font-size: 13px;

  font-weight: bold;

}



#Recherche_2 select {

  width: 100%;

  box-sizing: border-box;

  border: 1px solid #8fb8d9;

  border-radius: 8px;

  background-color: #ffffff;

  height: 38px;

  padding: 0 10px;

  margin: 0;

  font-size: 14px;

}



#Recherche_2 select:focus {

  outline: none;

  border-color: var(--cat-accent);

  box-shadow: 0 0 0 3px rgba(43, 91, 163, 0.12);

}



#Recherche_2 .searchSubmitBtn {

  align-self: flex-start;

  margin-top: 6px;

  min-width: 200px;

  padding: 10px 18px;

  border: 0;

  border-radius: 999px;

  background: linear-gradient(135deg, var(--cat-accent) 0%, var(--cat-accent-light) 100%);

  color: #ffffff;

  font-family: Arial, Helvetica, sans-serif;

  font-size: 14px;

  font-weight: bold;

  cursor: pointer;

  box-shadow: 0 8px 18px rgba(43, 91, 163, 0.28);

}



#Recherche_2 .searchSubmitBtn:hover,

#Recherche_2 .searchSubmitBtn:focus {

  background: linear-gradient(135deg, #234a85 0%, #2f66a8 100%);

}



@media screen and (max-width: 768px) {

  #Texte.category-page {

    margin-top: 12px;

    padding: 16px;

    border-radius: 12px;

  }



  .category-toc-list,

  #Texte.category-page > strong:first-of-type + p + ul,

  #Texte.category-page > h2 + p + ul {

    columns: 1;

  }



  #Recherche_2 {

    padding: 12px;

    margin-top: 12px;

  }



  #Recherche_2 .searchSubmitBtn {

    width: 100%;

  }

}


