/* ============================================================
   Corrihons — en-tête (topbar, barre principale, navigation), inspiré de topbiz.fr / agenceweblandes.fr
   ============================================================ */
#header { background: #1a1a1a; border-bottom: 0; position: relative; z-index: 1040; }
.lc-topbar { background: #0f0f0f; color: #cfcdc7; font-size: .84rem; }
.lc-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; }
.lc-topbar__promises { display: flex; gap: 26px; margin: 0; padding: 0; list-style: none; }
.lc-topbar__promises li, .lc-topbar__phone { display: inline-flex; align-items: center; gap: 7px; }
.lc-topbar svg { width: 16px; height: 16px; fill: none; stroke: #ff4d63; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.lc-topbar__right { display: flex; align-items: center; gap: 18px; }
.lc-topbar__phone { color: #fff; font-weight: 600; }
#header .lc-topbar__pro { color: #fff; font-weight: 700; text-decoration: none; background: #c8102e; padding: 4px 12px; border-radius: 4px; }
#header .lc-topbar__pro:hover { background: #a10c24; }

.lc-hmain { background: #1a1a1a; padding: 14px 0; }
.lc-hmain__inner { display: flex; align-items: center; gap: 28px; }
.lc-logo { flex: none; display: block; }
.lc-logo .lc-logo__img { width: 210px; max-width: none; height: auto; display: block; }
.lc-hmain__search { flex: 1; max-width: 720px; }
.lc-hmain__search .ps-searchbar, .lc-hmain__search form { width: 100%; }
.lc-hmain__search .ps-searchbar__form, .lc-hmain__search .input-group { position: relative; }
.lc-hmain__search input[type="search"], .lc-hmain__search input[type="text"], .lc-hmain__search .form-control { height: 48px; border: 0; border-radius: 8px; padding-left: 46px; font-size: 1rem; background: #fff; }
.lc-hmain__search .material-icons, .lc-hmain__search .ps-searchbar__magnifier { color: #c8102e; }
.lc-hmain__actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
#header .lc-hact { position: relative; display: flex; align-items: center; gap: 10px; padding: 6px 12px; border-radius: 8px; color: #fff; text-decoration: none; transition: background .15s; }
#header .lc-hact:hover { background: rgba(255,255,255,.08); }
.lc-hact svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.lc-hact__txt { display: flex; flex-direction: column; line-height: 1.15; }
.lc-hact__txt small { color: #b8b5ae; font-size: .75rem; }
.lc-hact__txt b { font-size: .95rem; }
.lc-hact__badge { position: absolute; left: 30px; top: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #c8102e; color: #fff; font-size: .72rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.lc-hmain__burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; border: 0; background: transparent; padding: 8px; }
.lc-hmain__burger span { display: block; height: 2px; background: #fff; border-radius: 2px; }

.lc-hnav { background: #fff; border-bottom: 3px solid #c8102e; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.lc-hnav__inner { display: flex; align-items: stretch; gap: 8px; min-height: 52px; }
.lc-hnav__cats { position: relative; flex: none; }
.lc-hnav__catsbtn { height: 100%; display: flex; align-items: center; gap: 14px; padding: 0 22px; border: 0; background: #c8102e; color: #fff; font-family: "Barlow Condensed", "Barlow", sans-serif; font-weight: 700; font-size: 1.1rem; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.lc-hnav__catsbtn:hover { background: #a10c24; }
.lc-hnav__drop { display: none; position: absolute; left: 0; top: 100%; width: 300px; z-index: 1060; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.lc-hnav__cats:focus-within .lc-hnav__drop { display: block; }
.lc-hnav__drop .lc-vmenu { border-radius: 0 0 8px 8px; border-top: 0; }
.lc-hnav__drop .lc-vmenu__toggle { display: none; }
.lc-hnav__links { display: flex; align-items: stretch; flex-wrap: nowrap; overflow: hidden; margin: 0; padding: 0; list-style: none; }
#header .lc-hnav__link { display: flex; align-items: center; height: 100%; padding: 0 16px; color: #1a1a1a; text-decoration: none; font-family: "Barlow Condensed", "Barlow", sans-serif; font-weight: 700; font-size: 1.05rem; text-transform: uppercase; letter-spacing: .03em; border-bottom: 3px solid transparent; margin-bottom: -3px; }
#header .lc-hnav__link:hover { color: #c8102e; border-bottom-color: #c8102e; }
#header .lc-hnav__link.is-hl { color: #c8102e; }
.lc-hero__links { display: none; }

/* Menu mobile (tiroir) */
.lc-mmenu { background: #1a1a1a; color: #fff; }
.lc-mmenu .offcanvas-body { padding: 0; background: #fff; }
.lc-mmenu .lc-vmenu { border: 0; border-radius: 0; }
.lc-mmenu .lc-hnav__links { flex-direction: column; padding: 8px 0; border-top: 3px solid #c8102e; }
.lc-mmenu .lc-hnav__link { display: block; padding: 12px 18px; color: #1a1a1a; text-decoration: none; font-weight: 700; text-transform: uppercase; font-family: "Barlow Condensed", sans-serif; }

@media (max-width: 991.98px) {
  .lc-hmain__inner { flex-wrap: wrap; gap: 10px 14px; }
  .lc-logo .lc-logo__img { width: 160px; }
  .lc-hmain__search { order: 3; flex-basis: 100%; max-width: none; }
  .lc-hact__txt { display: none; }
  .lc-hero__menu { display: none; }
}

/* Menu mobile (offcanvas) : libellés lisibles, la règle #header a{color:#fff} ne doit pas s'y appliquer */
#header .lc-mmenu .lc-vmenu__link, #header .lc-mmenu .lc-vmenu__subitem > a, #header .lc-mmenu .lc-hnav__link { color: #1a1a1a; }
#header .lc-mmenu .lc-vmenu__label { color: inherit; }
#header .lc-mmenu .lc-vmenu__subsub a { color: #555; }
#header .lc-mmenu .lc-vmenu__item:hover > .lc-vmenu__link, #header .lc-mmenu .lc-vmenu__item.is-open > .lc-vmenu__link,
#header .lc-mmenu .lc-vmenu__subitem:hover > a, #header .lc-mmenu .lc-vmenu__subsub a:hover { color: #c8102e; background: #faf7f7; }
#header .lc-mmenu .lc-hnav__link.is-hl { color: #c8102e; }
#header .lc-mmenu .lc-vmenu__chevron { color: #8a8780; }

/* Panier de l'en-tête rendu par ps_shoppingcart : l'enveloppe ne doit pas casser l'alignement flex (2026-10-02) */
.lc-cartw { display: contents; }

/* En-tête collant (14/10/2026) : logo, recherche, compte, panier et menu restent visibles au défilement ;
   le bandeau noir du haut (32 px, masqué sous 768 px) sort de l'écran grâce au « top » négatif. */
body #header { position: sticky; top: -32px; z-index: 1040; background: #fff; box-shadow: 0 6px 18px -12px rgba(0,0,0,.25); }
@media (max-width: 767.98px) { body #header { top: 0; } }
html { scroll-padding-top: 150px; }
@media (max-width: 991.98px) { html { scroll-padding-top: 110px; } }

/* Menu mobile (panneau « Catégories ») : jamais visible sur ordinateur, et caché tant qu'il n'est pas ouvert
   (Edge l'affichait en partie sous la barre de menu, 14/10/2026). Le bouton qui l'ouvre n'existe que sous 992 px. */
@media (min-width: 992px) { #header .lc-mmenu { display: none !important; } }
#header .lc-mmenu:not(.show):not(.showing):not(.hiding) { visibility: hidden; }
/* … et son volet actif (« Catégories », forcé en visibility:visible par mslide-v1.css) aussi, tant que le menu est fermé :
   un enfant « visible » passe outre le « hidden » du parent, Edge l'affichait sous la recherche sur mobile. */
#header .lc-mmenu:not(.show):not(.showing):not(.hiding) .lc-slide__panel { visibility: hidden !important; }

/* Fil d'Ariane : passe à la ligne au lieu de déborder (sur mobile, Edge élargissait toute la page à sa largeur) */
.breadcrumb__wrapper .breadcrumb { flex-wrap: wrap; row-gap: 2px; }
.breadcrumb__wrapper .breadcrumb-item { min-width: 0; overflow-wrap: anywhere; }
