/* --------------------------------------------------------- */
/* Couleurs, composants et palette                           */
/* --------------------------------------------------------- */

:root {
    --color-primary: #FF4D59;
    --color-body-bg: #FF6673;
    --color-border: #8B6F92;
    --color-link: #604A7F;
    --color-link-hover: #F57900;
    --color-heading-muted: #C7B299;
}

/* ------------------------------------------
/* Habillage des elements du contenu
/* ------------------------------------------ */

/* Fil d'ariane (breadcrumbs) */
.arbo {
  clear: both;
  margin: 0 0 1.2em;
  font-size: 0.85em;
  color: #888;
}
.arbo a { color: var(--color-link); }
.arbo a:hover,
.arbo a:focus { color: var(--color-link-hover); text-decoration: underline; }
.arbo strong.on { color: #555; font-weight: normal; }

.cartouche { margin-bottom: 2em; }
.cartouche .spip_logos { float: right; margin-left: 16px; margin-bottom: 4px; }
.cartouche p { margin: 0; padding: 0; clear: left; }
.surtitre, .soustitre { font-size: 0.90em; color: #666; text-transform: uppercase; letter-spacing: 0.10em; }
.cartouche .surtitre { margin-bottom: 0.30em; }
.cartouche .soustitre { margin-top: 0.50em; margin-bottom: 0.30em; }
.cartouche .traductions { font-size: 0.90em; }

.chapo { margin-bottom: 1.50em; line-height: 1.5; font-weight: bold; color: #669; }
.texte { line-height: 1.75; }
.hyperlien { display: block; background: #EEE; padding: 0.50em 1em; font-weight: bold; color: var(--color-border); }
.ps, .notes { margin-bottom: 2em; line-height: 1.40em; }
.notes { clear: both; font-size: 0.90em; }

abbr.published { border: 0; }

/* Portfolio */
#documents_portfolio { clear: both; margin: 2em auto; text-align: center; }
#documents_portfolio .spip_logos { margin: 6px 3px 0 3px; border: 4px solid #DDD; }
#documents_portfolio a.on .spip_logos { border-color: var(--color-link-hover); }
#documents_portfolio a:focus .spip_logos,
#documents_portfolio a:hover .spip_logos,
#documents_portfolio a:active .spip_logos { border-color: var(--color-border); }


/* Habillage des forums
---------------------------------------------- */
.repondre { clear: both; margin-top: 2.50em; margin-right: 1em; text-align: right; font-weight: bold; }

/* Habillage des forums */
ul.forum { display: block; clear: both; margin: 0; padding: 0; }
ul.forum, ul.forum ul { list-style: none; }
.forum-fil { margin-top: 1.50em; }
.forum-fil ul { display: block; margin: 0; padding: 0; margin-left: 1em; }
.forum-chapo .forum-titre, .forum-chapo .forum-titre a { display: block; margin: 0; padding: 0; font-weight: bold; color: #333; }
.forum-texte { margin: 0; padding: 0.50em 1em; color: #333; }
.forum-texte .hyperlien {}
.forum-texte .repondre { margin: 0; padding: 0.10em 0; text-align: right; }

/* Boite d'un forum : eclaircissement progressif des bords */
ul .forum-message { border: 1px solid #666; margin: 0; padding: 0; margin-bottom: 1em; }
ul ul .forum-message { border: 1px solid #A4A4A4; }
ul ul ul .forum-message { border: 1px solid #B8B8B8; }
ul ul ul ul .forum-message { border: 1px solid #CCC; }
ul ul ul ul ul .forum-message { border: 1px solid #E0E0E0; }
ul ul ul ul ul ul .forum-message { border: 1px dotted #E0E0E0; }

/* Boite de titre d'un forum : mise en couleur selon la profondeur du forum */
ul .forum-chapo { border: 0; border-bottom: 1px dotted #B8B8B8; margin: 0; padding: 3px 6px 2px 6px; background: #C4E0E0; }
ul ul .forum-chapo { background: #D4E8E8; }
ul ul ul .forum-chapo { background: #E4F0F0; }
ul ul ul ul .forum-chapo { background: #F4F8F8; border-bottom: 1px dotted #E0E0E0; }
ul ul ul ul ul .forum-chapo { background: #FFF; }


/* Habillage des petitions
---------------------------------------------- */
#signatures { clear: both; margin: 0 0 2em 0; padding: 0; background: none; }
#signatures table { width: 100%; margin: 1em 0 0 0; }
#signatures thead { text-align: center; color: #555; }
#signatures td { padding: 0.50em; border: 2px solid #FEFEFE; vertical-align: top; }
#signatures td.signature-date { background: #E4F0F0; text-align: center; white-space: nowrap; }
#signatures td.signature-nom { background: #ECF4F4; text-align: center; }
#signatures td.signature-nom small { display: block; }
#signatures td.signature-message { background: #F4F8F8; }
#signatures .formulaire_recherche { margin: 1em 0; text-align: right; } /*Cf.: spip_formulaires.css*/
#signatures .formulaire_recherche input.text { width: 10em; text-align: left; } /*Cf.: spip_formulaires.css*/


/* ------------------------------------------
/* Sous-navigation et autres menus
/* ------------------------------------------ */

/* Habillage general des menus de navigation */
.menu { clear: both; margin-bottom: 2em; text-align: left; }
.menu p { margin: 0.20em 0; padding: 0.20em 0.10em; }
.menu ul { margin: 0; padding: 0; list-style: none; }
.menu ul li { margin: 0.20em 0; padding: 0.20em; }
.menu ul li ul { margin-left: 1em; border: 0; }
.menu ul li li { padding: 0; border: 0; }

/* Pagination */
.pagination { clear: both; text-align: right; font-size: 0.90em; color: #666; }
.pagination .on { font-weight: bold; color: #666; }

/* Rubriques */
.rubriques ul { border: 0; }
.rubriques ul li { border: 0; }

/* Parent category headings */
.rubriques ul li a.parent,
.rubriques ul li span.parent {
  color: var(--color-heading-muted);
  font-family: "Kims Hand", Georgia, Times, serif;
  border-radius: 0.25em;
  padding: 0.15em 0.3em;
}
.rubriques ul li span.parent {
  cursor: default;
}

/* ---- Horizontal top navbar (desktop) ---- */
#nav-rubriques {
  background: #FFF5F6;
  border-bottom: 1px solid #f0d0d4;
}

#nav-rubriques > ul {
  display: flex;
  justify-content: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

#nav-rubriques > ul > li {
  position: relative;
}

#nav-rubriques > ul > li > a,
#nav-rubriques > ul > li > span {
  display: block;
  padding: 0.65em 1.1em;
  white-space: nowrap;
}

/* Dropdown sub-menus */
#nav-rubriques > ul > li > ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  border-radius: 0.5em;
  min-width: 12em;
  padding: 0.5em 0;
  z-index: 10;
  list-style: none;
}

#nav-rubriques > ul > li > ul > li > a {
  display: block;
  padding: 0.4em 1em;
}

#nav-rubriques > ul > li:hover > ul,
#nav-rubriques > ul > li:focus-within > ul {
  display: block;
}

/* Footer tint */
#pied {
  background: #FFF5F6;
}

.pied-social { color: var(--color-link); }
.pied-social:hover, .pied-social:focus { color: var(--color-link-hover); }
.pied-social svg { vertical-align: middle; }

@media (max-width: 768px) {
  /* Smaller, slimmer hamburger button */
  .menu-toggle {
    font-size: 0.9em;
    padding: 0.35em 0.8em;
    border-radius: 0.4em;
    width: auto;
    min-width: 8em;
    display: block;
    margin: 0 auto;
  }

  /* Revert to vertical layout on mobile */
  #nav-rubriques > ul {
    display: block;
  }

  #nav-rubriques > ul > li > ul {
    position: static;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin-left: 1em;
  }

  /* Sub-menus always visible when nav is open on mobile */
  #nav-rubriques.is-open > ul > li > ul {
    display: block;
  }
}

.formulaire_recherche { margin-bottom: 2em; } /*Cf.: spip_formulaires.css*/

/* Listes d'articles et extraits introductifs */
.articles ul li { clear: both; padding: 0.40em 0.20em; }
.articles ul li h3 { margin: 0.30em 0; }
.articles .spip_logos { float: right; clear: right; margin: 0 0 4px 16px; }
.articles ul li .enclosures { float: right; text-align: right; max-width: 60%; margin: 0; }
.articles ul li .introduction { margin-top: 0.30em; line-height: 1.40em; }


/* Hamburger toggle button */
.menu-toggle {
  -webkit-appearance: none;
  appearance: none;
  background-color: #F9B2BB;
  color: var(--color-link);
  border: 1px dotted var(--color-border);
  border-radius: 0.5em;
  font-family: "Kims Hand", Georgia, Times, serif;
  font-size: 1.1em;
  padding: 0.55em 1.2em;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  text-align: center;
  transition: background-color 0.15s, color 0.15s;
}

.menu-toggle:hover,
.menu-toggle:focus {
  background-color: var(--color-primary);
  color: white;
  outline: none;
}

/* Couleurs des liens
---------------------------------------------- */
a { color: var(--color-link); text-decoration: none; }
.rubriques ul li a {
  color: #736357;
  text-decoration: none;
  border-radius: 0.25em;
  padding: 0.15em 0.3em;
  transition: background-color 0.15s;
}
.rubriques ul li a:hover,
.rubriques ul li a:focus { background-color: #F9B2BB; text-decoration: none; }
a:focus, a:hover, a:active { color: var(--color-link-hover); text-decoration: underline; }
