/* ============================================================
   Corrihons — thème enfant Hummingbird — surcharges v0.1 (La Casa Marketing, 2026-09-25)
   Tokens : rouge #c8102e, encre #1a1a1a, fond #f5f4f0, acier #6b6f73. Police Barlow / Barlow Condensed.
   ============================================================ */
:root, [data-bs-theme="light"] {
  --lc-red: #c8102e; --lc-red-dark: #a10c24; --lc-ink: #1a1a1a; --lc-steel: #6b6f73; --lc-paper: #f5f4f0; --lc-rule: #dcdad4;
  --bs-primary: #c8102e; --bs-primary-rgb: 200, 16, 46;
  --bs-link-color: #c8102e; --bs-link-color-rgb: 200, 16, 46; --bs-link-hover-color: #a10c24; --bs-link-hover-color-rgb: 161, 12, 36;
  --bs-body-color: #1a1a1a; --bs-body-font-family: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-border-radius: .375rem;
}
body { font-family: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
h1, h2, h3, .h1, .h2, .h3, .lc-h2 { font-family: "Barlow Condensed", "Barlow", Impact, sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; }
.lc-h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.05; }
.lc-more { font-weight: 600; color: var(--lc-red); text-decoration: none; border-bottom: 2px solid currentColor; }
.lc-more:hover { color: var(--lc-red-dark); }

/* Boutons */
.btn-primary { --bs-btn-bg: #c8102e; --bs-btn-border-color: #c8102e; --bs-btn-hover-bg: #a10c24; --bs-btn-hover-border-color: #a10c24; --bs-btn-active-bg: #8f0a1f; --bs-btn-active-border-color: #8f0a1f; --bs-btn-disabled-bg: #e58a97; --bs-btn-disabled-border-color: #e58a97; --bs-btn-focus-shadow-rgb: 200, 16, 46; font-weight: 600; }
.btn-outline-primary { --bs-btn-color: #c8102e; --bs-btn-border-color: #c8102e; --bs-btn-hover-bg: #c8102e; --bs-btn-hover-border-color: #c8102e; --bs-btn-active-bg: #a10c24; --bs-btn-active-border-color: #a10c24; --bs-btn-focus-shadow-rgb: 200, 16, 46; font-weight: 600; }
.btn { text-transform: uppercase; letter-spacing: .03em; font-family: "Barlow Condensed", "Barlow", sans-serif; font-size: 1.05rem; }

/* En-tête : bandeau haut sombre, ligne rouge sous le header, menu en capitales */
#header .header__nav, #header .header-nav { background: var(--lc-ink); color: #fff; }
#header .header__nav a, #header .header-nav a { color: #fff; }
#header { border-bottom: 3px solid var(--lc-red); }
.ps-mainmenu__desktop .ps-mainmenu__item > a, .ps-mainmenu a.nav-link { font-family: "Barlow Condensed", "Barlow", sans-serif; text-transform: uppercase; font-weight: 700; font-size: 1.05rem; letter-spacing: .02em; }
.ps-mainmenu__desktop .ps-mainmenu__item > a:hover { color: var(--lc-red); }
.ps-searchbar .form-control { border: 2px solid var(--lc-ink); }
.ps-searchbar .btn { background: var(--lc-red); color: #fff; border-color: var(--lc-red); }

/* Réassurance : bande claire */
.blockreassurance_product, .ps-reassurance, .blockreassurance { background: var(--lc-paper); }

/* Slider : légende sur fond sombre translucide, titre condensé */
.ps-imageslider .carousel-caption, .ps-imageslider__caption { background: rgba(26, 26, 26, .78); border-left: 4px solid var(--lc-red); text-align: left; }
.ps-imageslider .carousel-caption h2, .ps-imageslider__caption h2 { font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }

/* Texte d'accueil */
.ps-customtext .lc-intro { max-width: 68ch; }
.ps-customtext .lc-intro h2 { color: var(--lc-ink); }

/* Métiers : tuiles typographiques */
.lc-metiers__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.lc-metier { display: flex; align-items: flex-end; min-height: 110px; padding: 14px 16px; background: var(--lc-ink); color: #fff; text-decoration: none; border-left: 5px solid var(--lc-red); font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.35rem; text-transform: uppercase; line-height: 1; transition: background .15s, transform .15s; }
.lc-metier:hover { background: var(--lc-red); color: #fff; transform: translateY(-2px); }

/* Rayons phares : tuiles image + libellé */
.lc-rayons__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.lc-rayon { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: var(--lc-ink); text-decoration: none; }
.lc-rayon img { width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: transform .3s, opacity .3s; }
.lc-rayon:hover img { transform: scale(1.04); opacity: 1; }
.lc-rayon span { position: absolute; left: 0; bottom: 0; padding: 8px 14px; background: var(--lc-red); color: #fff; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.2rem; text-transform: uppercase; }

/* Bannière campagne */
.ps-banner img { width: 100%; height: auto; border-radius: 6px; }

/* Marques : rail défilant sans librairie */
.lc-marques__rail { display: grid; grid-auto-flow: column; grid-auto-columns: 160px; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: thin; }
.lc-marque { scroll-snap-align: start; display: flex; align-items: center; justify-content: center; height: 90px; background: #fff; border: 1px solid var(--lc-rule); border-radius: 6px; padding: 10px; }
.lc-marque img { max-height: 60px; max-width: 130px; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.lc-marque:hover img { filter: none; opacity: 1; }

/* Duo catalogue / location */
.lc-duo__item { position: relative; display: block; border-radius: 6px; overflow: hidden; background: var(--lc-ink); text-decoration: none; aspect-ratio: 5 / 2; }
.lc-duo__item img { width: 100%; height: 100%; object-fit: cover; }
.lc-duo__item span { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 16px; background: linear-gradient(transparent, rgba(26,26,26,.9)); color: #fff; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.4rem; text-transform: uppercase; line-height: 1.1; }
.lc-duo__item small { display: block; font-family: "Barlow", sans-serif; font-weight: 500; text-transform: none; font-size: .9rem; opacity: .9; }

/* Pied de page sombre */
#footer { background: var(--lc-ink); color: #ddd; }
#footer a { color: #fff; }
#footer .footer-block__title, #footer h2, #footer h3, #footer .h6 { color: #fff; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }
#footer .footer__copyright, #footer .copyright { color: #aaa; }
.ps-emailsubscription.bg-body-tertiary { background: var(--lc-paper) !important; }

@media (max-width: 767px) {
  .lc-metier { min-height: 84px; font-size: 1.15rem; }
  .lc-marques__rail { grid-auto-columns: 130px; }
}

/* En-tete sombre comme sur le site actuel (logo blanc, recherche large, panier) */
#header { background: #2b2b2b; color: #fff; }
#header a, #header .nav-link { color: #fff; }
#header .header__nav, #header .header-nav, #header .header__top-bar { background: #1a1a1a; }
#header .ps-searchbar .form-control { border: 0; background: #fff; }
#header .ps-mainmenu__desktop { background: #fff; color: #1a1a1a; }
#header .ps-mainmenu__desktop a { color: #1a1a1a; }
.header__logo img, #_desktop_logo img { max-height: 56px; width: auto; }

/* Hero : menu vertical + slider cote a cote (comme aujourd'hui) */
.lc-hero { display: grid; grid-template-columns: 300px 1fr; gap: 24px; align-items: start; margin-top: 18px; }
.lc-hero__links { display: flex; gap: 22px; margin: 0 0 12px; padding: 0; list-style: none; }
.lc-hero__links a { font-family: "Barlow Condensed", "Barlow", sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #1a1a1a; text-decoration: none; font-size: 1.05rem; padding: 6px 0; border-bottom: 2px solid transparent; }
.lc-hero__links a:hover, .lc-hero__links a.active { color: #c8102e; border-bottom-color: #c8102e; }
.lc-hero .ps-imageslider { margin: 0; }
.lc-hero .ps-imageslider img { border-radius: 6px; }
@media (max-width: 991.98px) { .lc-hero { grid-template-columns: 1fr; } .lc-hero__links { flex-wrap: wrap; gap: 12px 18px; } }

/* Corrections v0.2 */
.lc-logo img { max-height: 52px; width: auto; }
.ps-emailsubscription h2, .ps-emailsubscription .h2, .ps-emailsubscription .ps-emailsubscription__title { color: #1a1a1a; }
.lc-rayon span, .lc-duo__item span { display: none; }
.ps-imageslider .carousel-item img { width: 100%; height: auto; }
#footer .footer-block__title, #footer .h6 { font-size: 1.05rem; letter-spacing: .04em; }

/* Logo : largeur explicite (le SVG n a pas de dimensions exploitables pour Bootstrap) */
.header-bottom__logo { min-width: 250px; }
.lc-logo img { width: 230px; height: auto; max-width: none; display: block; }
@media (max-width: 767px) { .header-bottom__logo { min-width: 0; } .lc-logo img { width: 170px; } }

/* Marques : bandeau blanc défilant en continu (pause au survol), logos séparés par un filet */
.lc-marques { background: #fff; color: #1a1a1a; padding: 36px 0 0; }
.lc-marques .lc-h2 { color: #1a1a1a; }
.lc-marquee { overflow: hidden; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; background: #fff; }
.lc-marquee__track { display: flex; width: max-content; animation: lc-marquee 45s linear infinite; }
.lc-marquee:hover .lc-marquee__track, .lc-marquee:focus-within .lc-marquee__track { animation-play-state: paused; }
.lc-marque { flex: none; display: flex; align-items: center; justify-content: center; width: 210px; height: 110px; padding: 18px 26px; border-right: 1px solid #e5e5e5; background: #fff; }
.lc-marque img { max-height: 64px; max-width: 150px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.lc-marque:hover img { filter: none; opacity: 1; }
.lc-marques__rail { display: none; }
@keyframes lc-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .lc-marquee { overflow-x: auto; } .lc-marquee__track { animation: none; } }
@media (max-width: 767px) { .lc-marque { width: 150px; height: 84px; padding: 12px 16px; } .lc-marque img { max-height: 46px; max-width: 110px; } .lc-marquee__track { animation-duration: 30s; } }

/* Bandeau marques dans le footer sombre : titre et lien lisibles */
#footer .lc-marques .lc-h2, .lc-marques .lc-h2 { color: #1a1a1a; }
#footer .lc-marques .lc-more, .lc-marques .lc-more { color: #c8102e; }
#footer .lc-marques { color: #1a1a1a; }

/* Métiers + rayons phares en pleine largeur (sortie du conteneur de la page) */
html, body { overflow-x: clip; }
.lc-metiers, .lc-rayons { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-left: clamp(16px, 3vw, 48px); padding-right: clamp(16px, 3vw, 48px); }
.lc-metiers { padding-top: 40px; padding-bottom: 28px; }
.lc-rayons { padding-bottom: 44px; }
.lc-metiers__grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.lc-metier { min-height: 130px; font-size: 1.5rem; }
.lc-rayons__grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
@media (max-width: 767px) { .lc-metier { min-height: 90px; font-size: 1.2rem; } }
