/* ==========================================================================
   Fêtez-Moi — front : page d'accueil, catégories, sous-catégories
   --------------------------------------------------------------------------
   Complément à fm-header.css. Chargé après theme.css et custom.css depuis
   _partials/head.tpl (la section « assets: » de theme.yml n'est pas appliquée
   par PrestaShop 9 sur ce thème — vérifié).

   Le thème Ginza1 pèse 200 Ko de theme.css + 392 Ko de custom.css : beaucoup de
   règles très spécifiques. Les !important ci-dessous ne sont pas de la
   négligence, ils passent devant des sélecteurs existants qu'on ne veut pas
   modifier (fichiers du thème d'origine, écrasés à chaque mise à jour).
   ========================================================================== */

:root {
  /* fm-header.css définit déjà --fm-accent / --fm-ink / --fm-muted / --fm-rule */
  --fm-ivory:      #fdfaf6;   /* fond des sections claires */
  --fm-ivory-2:    #f6f1e9;   /* fond des tuiles */
  --fm-gold:       #b08d57;   /* filet champagne, signature graphique */
  --fm-gold-soft:  #e3d5bd;
  --fm-ink-2:      #57534e;   /* gris CHAUD — remplace le #707070 froid */
  --fm-line:       #e8e2d9;
  --fm-serif:      "Fraunces", Georgia, "Times New Roman", serif;
  --fm-shadow:     0 1px 2px rgba(28,25,23,.04), 0 12px 28px -20px rgba(28,25,23,.28);
}

/* ==========================================================================
   1. Corrections transverses
   ========================================================================== */

/* Le thème applique text-transform:capitalize à tous les titres et à quelques
   libellés. C'est la convention typographique anglaise, pas française : elle
   produit « Il Y A 37 Produits. », « Trier Par : », « Exportation Du Catalogue ».
   On la neutralise sur les sélecteurs exacts du thème. */
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6,
.products-selection p,
.products-selection .sort-by,
.block-category h1.h1,
.block-categories .category-sub-menu li[data-depth="0"] > a,
#search_filters_wrapper #search_filters .facet .facet-title,
.tabs .nav-tabs .nav-item .nav-link,
.brand > div a,
.pos_title h2,
.pos_title_column h2,
.breadcrumb_container .name_category h1,
.breadcrumb_container .name_category h2,
#footer .footer-container .footer_block h3,
#products .product-title,
.product-miniature .product-title,
.product-features > dl.data-sheet dd.value,
.product-features > dl.data-sheet dt.name,
.js-product-miniature .product_desc .manufacturer a,
.js-product-miniature .product_desc h3 a.product_name,
.js-product-miniature .add-to-links li a,
#footer .footer-container .footer_block .footer_list > li a,
#footer .footer-container .footer_block .footer_list > ul > li a,
#footer .footer-container .footer_bottom .bottom-inner ul li a {
  text-transform: none !important;
}

/* Titre masqué visuellement mais lu par Google et les lecteurs d'écran */
.fm-sr-only {
  position: absolute !important; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Texte courant : le thème est en #707070 (gris froid) sur du blanc pur, alors
   que tout le catalogue est photographié dans des crème et des dorés. */
body { color: var(--fm-ink-2); }

/* Utilitaires partagés par les sections ajoutées ci-dessous */
.fm-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }

.fm-section { padding: 64px 0; }
.fm-section__head { text-align: center; margin: 0 auto 40px; max-width: 620px; }

.fm-eyebrow {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--fm-gold); margin: 0 0 12px; font-weight: 600;
}
.fm-eyebrow--light { color: var(--fm-gold-soft); }

.fm-section__title {
  font-family: var(--fm-serif);
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  font-weight: 600; line-height: 1.14; letter-spacing: -.015em;
  color: var(--fm-ink, #292929); margin: 0 0 12px;
}
.fm-section__title--light { color: #fff; }
.fm-section__sub { color: var(--fm-ink-2); font-size: 15px; margin: 0; }

.fm-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 13px 26px; border-radius: 999px; font-size: 13px; font-weight: 600;
  letter-spacing: .04em; text-decoration: none; border: 1px solid transparent;
  transition: background-color .18s, color .18s, border-color .18s;
}
.fm-btn--solid { background: var(--fm-accent, #e2017b); color: #fff; }
.fm-btn--solid:hover, .fm-btn--solid:focus { background: #c00169; color: #fff; }
.fm-btn--ghost { border-color: rgba(255,255,255,.45); color: #fff; }
.fm-btn--ghost:hover, .fm-btn--ghost:focus { border-color: #fff; background: rgba(255,255,255,.1); color: #fff; }

.fm-ico { width: 26px; height: 26px; fill: none; stroke: var(--fm-gold); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

/* ==========================================================================
   2. Page d'accueil
   ========================================================================== */

/* -- 2.1 Diaporama ---------------------------------------------------------
   Les visuels sont en 1536×1024 (ratio 3:2) : à pleine largeur ils occupaient
   960 px de haut, soit plus de la moitié de la page. On les recadre en bandeau.

   LIMITE CONNUE : le texte (« ASSIETTE JETABLE ») est incrusté dans l'image et
   occupe la moitié haute, le produit la moitié basse. Dans un bandeau on ne
   peut pas garder les deux. Le cadrage ci-dessous privilégie le texte.
   Le vrai correctif est de ré-exporter les visuels en bandeau (~3:1) et de
   sortir le texte de l'image — c'est un travail de visuel, côté client. */
.pos_bannerslide .nivoSlider,
.pos-slideshow .nivoSlider,
.slideshow_container .nivoSlider { max-height: 580px !important; }

.pos_bannerslide .nivoSlider img,
.pos-slideshow .nivoSlider img,
.slideshow_container .nivoSlider img {
  object-fit: cover;
  object-position: center 52%;
}

/* -- 2.2 Bandeau de réassurance ------------------------------------------- */
.fm-reassure {
  background: var(--fm-ivory-2);
  border-top: 1px solid var(--fm-line);
  border-bottom: 1px solid var(--fm-line);
}
.fm-reassure__grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1px; background: var(--fm-line);
  border-left: 1px solid var(--fm-line); border-right: 1px solid var(--fm-line);
  padding: 0;
}
.fm-reassure__item {
  background: var(--fm-ivory-2);
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 6px; padding: 26px 18px;
}
.fm-reassure__t { font-size: 13.5px; font-weight: 600; color: var(--fm-ink, #292929); letter-spacing: .01em; }
.fm-reassure__d { font-size: 12.5px; color: var(--fm-muted, #8b8b8b); }

/* -- 2.3 Nos univers ------------------------------------------------------ */
.fm-univers { background: #fff; }

.fm-tiles {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 16px;
  grid-template-columns: repeat(3, 1fr);
}
.fm-tile { margin: 0; }

/* La tuile porte une photo en fond, recouverte d'un voile ivoire qui s'éclaircit
   au survol. Les visuels vivent dans assets/img/univers/<id-catégorie>.jpg :
   pour en changer un, on remplace le fichier par FTP, rien d'autre. */
.fm-tile__link {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 232px; padding: 24px;
  background: var(--fm-ivory-2); text-decoration: none;
  border: 1px solid var(--fm-line); border-radius: 2px;
  overflow: hidden;
  transition: border-color .22s, transform .22s, box-shadow .22s;
}
.fm-tile__link:hover, .fm-tile__link:focus {
  border-color: var(--fm-gold-soft);
  transform: translateY(-3px); box-shadow: var(--fm-shadow);
}

.fm-tile__img {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .55s ease;
}
.fm-tile__link:hover .fm-tile__img,
.fm-tile__link:focus .fm-tile__img { transform: scale(1.05); }

/* Voile léger : dense en bas, où se trouve le texte, transparent en haut pour
   laisser voir la photo. Le texte reste lisible sur les six visuels. */
.fm-tile__veil {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top,
    rgba(253,250,246,.93) 0%,
    rgba(253,250,246,.80) 30%,
    rgba(253,250,246,.42) 62%,
    rgba(253,250,246,.18) 100%);
  transition: opacity .28s ease;
}
.fm-tile__link:hover .fm-tile__veil,
.fm-tile__link:focus .fm-tile__veil { opacity: .78; }

/* Le filet champagne : signature graphique, se déploie au survol */
.fm-tile__rule {
  position: absolute; top: 0; left: 0; z-index: 3; height: 2px; width: 44px;
  background: var(--fm-gold); transition: width .3s ease;
}
.fm-tile__link:hover .fm-tile__rule,
.fm-tile__link:focus .fm-tile__rule { width: 100%; }

.fm-tile__name {
  position: relative; z-index: 2;
  font-family: var(--fm-serif); font-size: 1.34rem; font-weight: 600;
  line-height: 1.15; letter-spacing: -.01em; color: var(--fm-ink, #292929);
  margin: 0 0 10px;
  text-shadow: 0 1px 0 rgba(253,250,246,.9);
}
.fm-tile__go {
  position: relative; z-index: 2;
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--fm-accent, #e2017b);
}
.fm-tile__go svg {
  width: 17px; height: 17px; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .22s;
}
.fm-tile__link:hover .fm-tile__go svg,
.fm-tile__link:focus .fm-tile__go svg { transform: translateX(4px); }

/* -- 2.4 Espace professionnel --------------------------------------------- */
.fm-pro { background: #211d1a; }
.fm-pro__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 48px; flex-wrap: wrap;
}
.fm-pro__text { flex: 1 1 440px; }
.fm-pro__text .fm-section__title { margin-bottom: 14px; }
.fm-pro__lead { color: rgba(255,255,255,.76); font-size: 15px; margin: 0; max-width: 56ch; }
.fm-pro__actions { flex: 0 0 auto; display: flex; gap: 12px; flex-wrap: wrap; }

/* -- 2.5 Newsletter ------------------------------------------------------- *
   Le titre « Ten Percent Member Discount » est le libellé par défaut du module,
   en anglais : il se corrige au back-office (Traductions), pas ici. On ne
   retouche que la présentation du bloc. */
/* Le titre « Ten Percent Member Discount » est le libellé anglais par défaut du
   module : il se corrige au back-office (Traductions), pas ici. */
.ft_newsletter { background: var(--fm-ivory-2); padding: 44px 20px !important; }
.ft_newsletter .title_newsletter h2 {
  font-family: var(--fm-serif) !important;
  font-size: 1.5rem !important; font-weight: 600 !important;
  color: var(--fm-ink, #292929) !important; margin: 0 0 20px !important;
}

/* ==========================================================================
   3. Pages catégorie et sous-catégorie
   ========================================================================== */

/* -- 3.1 Bandeau de titre ------------------------------------------------- */
/* Le thème fait remonter #wrapper > .container de -80px pour qu'il chevauche le
   bandeau de titre. Ce chevauchement masquait le <h1> et le fil d'Ariane. */
body.page-category #wrapper > .container { margin-top: 0 !important; }

.breadcrumb_container {
  background: var(--fm-ivory) !important;
  border-bottom: 1px solid var(--fm-line);
  padding: 34px 0 28px !important;
}
.breadcrumb_container .name_category h1 {
  font-family: var(--fm-serif) !important;
  font-size: clamp(1.8rem, 3.6vw, 2.5rem) !important;
  font-weight: 600 !important; line-height: 1.1 !important;
  letter-spacing: -.015em !important;
  color: var(--fm-ink, #292929) !important;
  margin: 0 0 10px !important;
}
.breadcrumb_container .breadcrumb { margin: 0 !important; }
.breadcrumb_container .breadcrumb ol { padding: 0; }
.breadcrumb_container .breadcrumb li,
.breadcrumb_container .breadcrumb li a { font-size: 12.5px; color: var(--fm-muted, #8b8b8b); }
.breadcrumb_container .breadcrumb li a:hover { color: var(--fm-accent, #e2017b); }

/* -- 3.2 Tuiles de sous-catégories ---------------------------------------- *
   Ajoutées par catalog/_partials/category-header.tpl. Aucune catégorie du site
   n'a d'image : les tuiles sont donc conçues pour être belles sans photo, et
   affichent le visuel automatiquement s'il est ajouté un jour au back-office. */
.fm-subcats { margin: 0 0 34px; }
.fm-subcats__title {
  font-size: 11px !important; letter-spacing: .18em; text-transform: uppercase !important;
  color: var(--fm-gold) !important; font-weight: 600 !important;
  margin: 0 0 16px !important; padding-bottom: 12px;
  border-bottom: 1px solid var(--fm-line);
}
.fm-subcats__list {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
}
.fm-subcat { margin: 0; display: flex; }
.fm-subcat__link {
  flex: 1 1 auto;
  display: flex; align-items: center; gap: 10px;
  padding: 13px 14px; text-decoration: none;
  background: var(--fm-ivory); border: 1px solid var(--fm-line); border-radius: 2px;
  transition: background-color .18s, border-color .18s, transform .18s;
}
.fm-subcat__link:hover, .fm-subcat__link:focus {
  background: #fff; border-color: var(--fm-gold-soft); transform: translateY(-2px);
}
.fm-subcat__media {
  flex: 0 0 38px; width: 38px; height: 38px; border-radius: 2px;
  background: #fff; border: 1px solid var(--fm-line); overflow: hidden;
}
.fm-subcat__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fm-subcat__name {
  flex: 1 1 auto; min-width: 0;
  font-size: 13px; font-weight: 600; line-height: 1.3;
  color: var(--fm-ink, #292929);
}
.fm-subcat__arrow {
  flex: 0 0 15px; width: 15px; height: 15px;
  fill: none; stroke: var(--fm-gold); stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
  transition: transform .18s, stroke .18s;
}
.fm-subcat__link:hover .fm-subcat__name { color: var(--fm-accent, #e2017b); }
.fm-subcat__link:hover .fm-subcat__arrow { stroke: var(--fm-accent, #e2017b); transform: translateX(3px); }

/* Description de catégorie, quand elle existe */
.fm-cat-intro { margin: 0 0 30px; border: 0 !important; padding: 0 !important; background: none !important; }
.fm-cat-intro__text { font-size: 15px; color: var(--fm-ink-2); max-width: 74ch; }

/* -- 3.3 Colonne de gauche ------------------------------------------------ *
   Elle mesurait 293 × 473 px dans une page de 2 855 px : près de 2 400 px de
   blanc. On la rend collante pour qu'elle accompagne le défilement, et on
   masque le widget d'export catalogue (module exportcmdcartpdfxls), qui est un
   outil commercial — c'est littéralement une démo jQuery UI — affiché à tous
   les visiteurs. Pour le remettre : supprimer la règle .fm-hide-export. */
#left-column {
  padding-right: 28px;
}
@media (min-width: 992px) {
  #left-column > .block-categories { position: sticky; top: 150px; }
}
#left-column .demoHeaders,
#left-column .demoHeaders ~ a,
#left-column .demoHeaders ~ br,
#left-column #dialog-linkexcel_cat,
#left-column #dialog-linkpdf_cat { display: none !important; }

#left-column .block-categories {
  background: var(--fm-ivory); border: 1px solid var(--fm-line);
  border-radius: 2px; padding: 20px 18px;
}
#left-column .block-categories .category-top-menu > li:first-child > a {
  font-family: var(--fm-serif) !important; font-size: 15px !important;
  font-weight: 600 !important; color: var(--fm-ink, #292929) !important;
  letter-spacing: 0 !important;
}
#left-column .category-sub-menu li[data-depth="0"] > a {
  font-size: 13px !important; font-weight: 600; color: var(--fm-ink, #292929) !important;
}
#left-column .category-sub-menu li[data-depth="1"] > a {
  font-size: 12.5px !important; color: var(--fm-ink-2) !important;
}
#left-column .category-sub-menu a:hover { color: var(--fm-accent, #e2017b) !important; }

/* -- 3.4 Barre de tri ----------------------------------------------------- */
#js-product-list-top.products-selection {
  border-bottom: 1px solid var(--fm-line);
  padding-bottom: 12px; margin-bottom: 24px;
}
.products-selection p,
.products-selection .sort-by {
  font-size: 13px !important; color: var(--fm-muted, #8b8b8b) !important;
}

/* -- 3.5 Grille produits -------------------------------------------------- *
   Le thème pose une grille Bootstrap en flottants : les lignes ne s'alignent
   pas dès qu'un nom de produit passe sur deux lignes. On repasse en CSS Grid,
   ce qui aligne les rangées et permet de dépasser les 3 colonnes. */
#js-product-list .product_content.grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin: 0 !important;
}
#js-product-list .product_content.grid > .item-product {
  width: auto !important; max-width: none !important;
  float: none !important; padding: 0 !important; margin: 0 !important;
}
@media (min-width: 1600px) {
  #js-product-list .product_content.grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 1199px) {
  #js-product-list .product_content.grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  #js-product-list .product_content.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

/* La vue « liste » du thème doit rester sur une colonne */
#js-product-list .product_content.list { display: block !important; }

/* -- 3.6 Carte produit ---------------------------------------------------- *
   Elle n'avait ni fond, ni bordure, ni ombre : les produits flottaient dans le
   vide. Hauteurs égalisées et visuel sur un carré fixe, pour que la rangée
   tienne quelle que soit la longueur du nom ou le format de la photo. */
#js-product-list .product_content.grid > .item-product > .product-miniature,
#js-product-list .product_content.grid > .item-product > article {
  height: 100%;
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--fm-line);
  border-radius: 2px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
#js-product-list .product_content.grid > .item-product > article:hover {
  border-color: var(--fm-gold-soft);
  box-shadow: var(--fm-shadow);
  transform: translateY(-3px);
}

#js-product-list .product-miniature .img_block {
  position: relative;
  background: #fff;
  border-bottom: 1px solid var(--fm-line);
}
#js-product-list .product-miniature .img_block .product-thumbnail {
  display: block; aspect-ratio: 1 / 1; padding: 14px;
}
#js-product-list .product-miniature .img_block .product-thumbnail img {
  width: 100% !important; height: 100% !important;
  object-fit: contain !important;   /* certaines photos sont sur fond noir : on ne recadre pas */
  mix-blend-mode: multiply;         /* atténue les fonds blancs légèrement gris */
}

#js-product-list .product-miniature .product_desc {
  flex: 1 1 auto; display: flex; flex-direction: column;
  padding: 14px 15px 16px; text-align: left;
}
#js-product-list .product-miniature .product_desc h3 { margin: 0 0 5px !important; }
#js-product-list .product-miniature .product_desc h3 a.product_name {
  font-family: inherit !important;
  font-size: 13.5px !important; font-weight: 600 !important;
  line-height: 1.36 !important; color: var(--fm-ink, #292929) !important;
  /* deux lignes maximum, sinon la rangée se désaligne */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.72em;
}
#js-product-list .product-miniature .product_desc h3 a.product_name:hover {
  color: var(--fm-accent, #e2017b) !important;
}
.fm-ref { display: block; font-size: 11.5px; color: var(--fm-muted, #8b8b8b); letter-spacing: .02em; }

/* Bloc affiché à la place du prix pour un visiteur non connecté */
.fm-proprice {
  margin-top: auto; padding-top: 12px;
  border-top: 1px dashed var(--fm-line);
  display: flex; flex-direction: column; gap: 3px;
}
.fm-proprice__label {
  font-size: 11px; color: var(--fm-muted, #8b8b8b); font-weight: 500;
}
.fm-proprice__link {
  font-size: 12px; font-weight: 600; color: var(--fm-accent, #e2017b);
  text-decoration: none;
}
.fm-proprice__link:hover { text-decoration: underline; }

/* La disponibilité et la description courte alourdissent la carte sans rien
   apporter tant que les prix sont masqués. */
#js-product-list .product-miniature .availability,
#js-product-list .product-miniature .product-desc { display: none !important; }

/* -- 3.7 Pagination ------------------------------------------------------- */
#js-product-list .pagination { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--fm-line); }

/* ==========================================================================
   4. Responsive
   ========================================================================== */
@media (max-width: 991px) {
  .fm-section { padding: 46px 0; }
  .fm-tiles { grid-template-columns: repeat(2, 1fr); }
  .fm-reassure__grid { grid-template-columns: repeat(2, 1fr); }
  .pos_bannerslide .nivoSlider,
  .pos-slideshow .nivoSlider,
  .slideshow_container .nivoSlider { max-height: 380px !important; }
}

@media (max-width: 767px) {
  .fm-wrap { padding: 0 16px; }
  .fm-section { padding: 38px 0; }
  .fm-tiles { grid-template-columns: 1fr; gap: 12px; }
  .fm-tile__link { min-height: 190px; padding: 20px; }
  .fm-tile__name { font-size: 1.24rem; }
  .fm-reassure__item { padding: 20px 12px; }
  .fm-pro__inner { gap: 26px; }
  .fm-pro__actions { width: 100%; }
  .fm-pro__actions .fm-btn { flex: 1 1 auto; }
  .fm-subcats__list { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .breadcrumb_container { padding: 22px 0 18px !important; }
  .pos_bannerslide .nivoSlider,
  .pos-slideshow .nivoSlider,
  .slideshow_container .nivoSlider { max-height: 300px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .fm-tile__link, .fm-tile__rule, .fm-tile__go svg, .fm-tile__img, .fm-tile__veil, .fm-subcat__link,
  #js-product-list .product_content.grid > .item-product > article {
    transition: none !important;
  }
}

/* -- 3.8 Encart d'aide de la colonne de gauche ----------------------------- *
   Ajouté par layouts/layout-both-columns.tpl sur les pages catégorie, pour
   occuper l'espace laissé vide sous l'arbre des catégories. */
.fm-aside {
  margin-top: 18px; padding: 22px 20px;
  background: #211d1a; border-radius: 2px;
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
}
.fm-aside__eyebrow {
  font-family: var(--fm-serif); font-size: 1.05rem; font-weight: 600;
  color: #fff; margin: 0; line-height: 1.25;
}
.fm-aside__text { font-size: 12.5px; color: rgba(255,255,255,.72); margin: 0; line-height: 1.5; }
.fm-aside__cta {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 4px; padding: 10px 18px; border-radius: 999px;
  background: var(--fm-accent, #e2017b); color: #fff;
  font-size: 12.5px; font-weight: 600; text-decoration: none;
  transition: background-color .18s;
}
.fm-aside__cta:hover, .fm-aside__cta:focus { background: #c00169; color: #fff; }
.fm-aside__link {
  font-size: 12px; color: rgba(255,255,255,.66); text-decoration: underline;
}
.fm-aside__link:hover, .fm-aside__link:focus { color: #fff; }

@media (min-width: 992px) {
  /* L'arbre des catégories et l'encart défilent ensemble */
  #left-column > .block-categories { position: static; }
  #left-column { position: sticky; top: 150px; align-self: flex-start; }
}
@media (max-width: 991px) {
  .fm-aside { margin-bottom: 24px; }
}
