/* =========================================================
   LBS DISTRIBUTION — design system (couleurs du logo)
   Complète le template ; police Outfit, accents multicolores peinture.
   ========================================================= */
:root{
  --lbs-navy:#16223e;
  --lbs-navy-700:#1f3157;
  --lbs-red:#e8322d;
  --lbs-red-600:#cf241f;
  --lbs-orange:#f7941e;
  --lbs-yellow:#fdb913;
  --lbs-purple:#7b2d8e;
  --lbs-blue:#1ba1e2;
  --lbs-green:#3dae2b;
  --lbs-bg:#f5f6f7;
  --lbs-ink:#16223e;
  --lbs-mut:#6b7388;
  --lbs-line:#e7eaf0;
  --lbs-rainbow:linear-gradient(90deg,#e8322d,#f7941e,#fdb913,#3dae2b,#1ba1e2,#7b2d8e);
}
*{box-sizing:border-box}
body{font-family:'Outfit',system-ui,sans-serif;color:var(--lbs-ink);background:#fff;margin:0;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.lbs-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.lbs-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lbs-red)}
.lbs-eyebrow::before{content:"";width:26px;height:3px;border-radius:3px;background:var(--lbs-rainbow)}
.lbs-h2{font-size:clamp(28px,4vw,46px);font-weight:800;line-height:1.1;color:var(--lbs-navy);letter-spacing:-.02em}
.lbs-rainbow-text{background:var(--lbs-rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Boutons */
.lbs-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;border:2px solid transparent;transition:.25s;white-space:nowrap}
.lbs-btn-red{background:var(--lbs-red);color:#fff;box-shadow:0 10px 24px -8px rgba(232,50,45,.6)}
.lbs-btn-red:hover{background:var(--lbs-red-600);transform:translateY(-2px);color:#fff}
.lbs-btn-navy{background:var(--lbs-navy);color:#fff}
.lbs-btn-navy:hover{background:var(--lbs-navy-700);transform:translateY(-2px);color:#fff}
.lbs-btn-ghost{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.lbs-btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.lbs-btn-outline{background:#fff;border-color:var(--lbs-line);color:var(--lbs-navy)}
.lbs-btn-outline:hover{border-color:var(--lbs-red);color:var(--lbs-red)}

/* Badges multicolores */
.lbs-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700}

/* Header */
.lbs-header{position:fixed;inset:0 0 auto 0;z-index:60;transition:.3s}
.lbs-header.solid{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 10px 30px -12px rgba(22,34,62,.25)}
.lbs-header.top{background:linear-gradient(180deg,rgba(22,34,62,.55),transparent)}
.lbs-nav{display:flex;align-items:center;justify-content:space-between;height:84px}
.lbs-logo{height:60px;width:auto;border-radius:12px;background:#fff;padding:4px;box-shadow:0 6px 18px -8px rgba(0,0,0,.25)}
.lbs-navlinks{display:flex;align-items:center;gap:30px}
.lbs-navlink{font-weight:600;font-size:15px;position:relative;padding:4px 0}
.lbs-navlink::after{content:"";position:absolute;left:0;bottom:-4px;height:3px;width:0;border-radius:3px;background:var(--lbs-red);transition:.25s}
.lbs-navlink:hover::after,.lbs-navlink.active::after{width:100%}
.lbs-navlink.active{color:var(--lbs-red)}

/* Cartes */
.lbs-card{background:#fff;border:1px solid var(--lbs-line);border-radius:22px;overflow:hidden;transition:.3s}
.lbs-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(22,34,62,.35)}

/* Section */
.lbs-section{padding:88px 0}
.lbs-bg-soft{background:var(--lbs-bg)}
.lbs-bg-navy{background:var(--lbs-navy);color:#fff}

/* Splash décoratif (rappel logo peinture) — dégradé radial léger (pas de blur) */
.lbs-splash{position:absolute;border-radius:50%;opacity:.5;pointer-events:none}

/* Animations au scroll */
.lbs-reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .8s cubic-bezier(.22,.68,.18,1)}
.lbs-reveal.in{opacity:1;transform:none}

/* Slider hero — barre de progression couleurs LBS */
@keyframes lbsProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lbs-prog-fill{transform-origin:left;background:var(--lbs-rainbow);animation:lbsProg linear forwards}
@keyframes lbsZoom{from{transform:scale(1.02)}to{transform:scale(1.14)}}
.lbs-kenburns{animation:lbsZoom 7s ease-out forwards}

/* Champs */
.lbs-input{width:100%;border:1.5px solid var(--lbs-line);background:var(--lbs-bg);border-radius:14px;padding:13px 16px;font-size:15px;font-family:inherit;color:var(--lbs-navy);transition:.2s}
.lbs-input:focus{outline:none;border-color:var(--lbs-red);background:#fff;box-shadow:0 0 0 4px rgba(232,50,45,.12)}

/* Recherche produit + autocomplétion */
.lbs-search{position:relative;width:100%;max-width:360px}
.lbs-search>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--lbs-mut);font-size:14px;pointer-events:none}
.lbs-search input{width:100%;height:46px;border-radius:999px;border:1.5px solid var(--lbs-line);background:#fff;padding:0 18px 0 42px;font-family:inherit;font-size:14px;color:var(--lbs-navy);transition:.2s}
.lbs-search input:focus{outline:none;border-color:var(--lbs-red);box-shadow:0 0 0 4px rgba(232,50,45,.12)}
.lbs-search-drop{position:absolute;top:54px;left:0;right:0;background:#fff;border-radius:18px;box-shadow:0 26px 50px -16px rgba(22,34,62,.4);border:1px solid var(--lbs-line);padding:8px;z-index:80;max-height:380px;overflow:auto}
.lbs-search-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-radius:12px;padding:8px 10px;cursor:pointer;transition:.15s}
.lbs-search-item:hover{background:var(--lbs-bg)}
.lbs-search-item img{width:42px;height:42px;object-fit:contain;background:#fff;border:1px solid var(--lbs-line);border-radius:10px;flex:none}
.lbs-search-item b{display:block;font-size:14px;font-weight:700;color:var(--lbs-navy);line-height:1.25}
.lbs-search-item small{color:var(--lbs-mut);font-size:12px}
.lbs-search-empty{padding:18px;text-align:center;color:var(--lbs-mut);font-size:14px}
@media(max-width:991px){.lbs-search-desktop{display:none!important}}

/* Carte produit habillée */
.lbs-prodcard{background:#fff;border:1px solid var(--lbs-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}
.lbs-prodcard:hover{transform:translateY(-6px);box-shadow:0 28px 52px -24px rgba(22,34,62,.4);border-color:#dbe1ec}
.lbs-prodcard .pimg{position:relative;background:linear-gradient(135deg,#fbfcfe,#eef1f6);padding:24px;aspect-ratio:1;overflow:hidden}
.lbs-prodcard .pimg img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}
.lbs-prodcard:hover .pimg img{transform:scale(1.07)}
.lbs-prodcard .pbrand{position:absolute;top:12px;left:12px;background:#16223e;color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:999px}
.lbs-prodcard .ptop{position:absolute;top:0;left:0;right:0;height:5px;background:var(--lbs-rainbow);opacity:0;transition:.25s}
.lbs-prodcard:hover .ptop{opacity:1}
.lbs-prodcard .pbody{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.lbs-prodcard .pcat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--lbs-mut)}
.lbs-prodcard .pname{font-size:14.5px;font-weight:700;color:var(--lbs-navy);line-height:1.35;margin:5px 0 0;flex:1}
.lbs-prodcard .pprice{font-size:17px;font-weight:900;color:var(--lbs-red);margin-top:10px}
.lbs-prodcard .pprice small{font-size:12px;font-weight:600;color:var(--lbs-mut)}

/* Footer */
.lbs-footer{background:var(--lbs-navy);color:#c3cbdb}
.lbs-footer a:hover{color:#fff}

@media(max-width:991px){
  .lbs-navlinks{display:none}
}
