/* VoixPlus — compléments de style (chargé après style.css) :
   défilé de produits, bannières, bandeau promo, icône du panier, suggestions de recherche, compte client. */

/* ---------- Accueil : défilé de produits (remplace l'arche) ---------- */
.hero-showcase{position:relative;justify-self:end;align-self:center;width:min(100%,420px);height:520px;margin:0 0 2.5rem;overflow:hidden;border-radius:var(--radius);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent)}
.hero-showcase-track{display:flex;flex-direction:column;animation:hs-up calc(var(--n,8) * 3.5s) linear infinite;will-change:transform}
.hero-showcase:hover .hero-showcase-track,.hero-showcase:focus-within .hero-showcase-track{animation-play-state:paused}
.hs-item{display:flex;align-items:center;gap:.9rem;margin:0 0 .9rem;padding:.7rem;background:var(--surface);color:var(--ink);border:1px solid rgba(255,255,255,.14);border-radius:16px;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.2);transition:transform .15s}
.hs-item:hover,.hs-item:focus-visible{transform:translateX(-4px)}
.hs-item img{width:88px;height:88px;object-fit:cover;border-radius:12px;flex:none}
.hs-ph{width:88px;height:88px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--forest);color:var(--mango);font:800 2rem var(--display)}
.hs-info{display:grid;gap:.25rem;min-width:0}
.hs-info b{font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hs-price s{color:var(--muted);font-size:.85em}
.hs-sale{color:var(--chili)}
@keyframes hs-up{to{transform:translateY(-50%)}}
@keyframes hs-left{to{transform:translateX(-50%)}}
@media (max-width:860px){
  .hero-showcase{justify-self:stretch;width:100%;height:auto;margin:0 0 1.5rem;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
  .hero-showcase-track{flex-direction:row;width:max-content;animation-name:hs-left}
  .hs-item{flex:none;width:270px;margin:0 .9rem 0 0}
}
@media (prefers-reduced-motion:reduce){
  .hero-showcase{height:auto;overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .hero-showcase-track{animation:none;flex-direction:row;width:max-content}
  .hs-item{flex:none;width:270px;margin:0 .9rem 0 0}
}

/* ---------- Bannières promotionnelles ---------- */
.banners{position:relative;max-width:var(--wrap);margin:1.4rem auto 0;padding:0 1.25rem}
.banners-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius);box-shadow:var(--shadow)}
.banners-track::-webkit-scrollbar{display:none}
.banner{position:relative;flex:0 0 100%;display:block;aspect-ratio:16/5;scroll-snap-align:start;overflow:hidden;background:var(--soft);color:#fff;text-decoration:none}
.banner img{width:100%;height:100%;object-fit:cover}
.banner-cap{position:absolute;inset:auto 0 0 0;display:grid;gap:.15rem;padding:2.8rem 1.6rem 1.2rem;background:linear-gradient(to top,rgba(7,46,37,.85),transparent)}
.banner-cap strong{font:800 clamp(1.2rem,3vw,2.1rem)/1.1 var(--display);letter-spacing:-.02em}
.banner-cap small{font-size:clamp(.9rem,1.6vw,1.1rem);opacity:.95}
.banners-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;padding:0;border-radius:50%;background:rgba(255,255,255,.92);color:#16202E;font-size:1.3rem;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.banners-btn:hover{transform:translateY(-50%) scale(1.06)}
.banners-btn.prev{left:2rem}.banners-btn.next{right:2rem}
.banners-dots{position:absolute;left:0;right:0;bottom:.6rem;display:flex;justify-content:center;gap:.4rem;pointer-events:none}
.banners-dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55)}
.banners-dots span.on{background:var(--mango)}
@media (max-width:640px){.banner{aspect-ratio:16/8}.banners-btn{display:none}.banner-cap{padding:2rem 1rem .9rem}}

/* ---------- Bandeau de texte tout en haut ---------- */
.promo-bar{background:var(--mango);color:#16202E;text-align:center;font-weight:700;font-size:.92rem;padding:.55rem 1rem}
.promo-bar a{color:inherit;text-decoration:none}
.promo-bar a:hover{text-decoration:underline}

/* ---------- Panier : icône ---------- */
.cart-ico{flex:none}

/* ---------- Recherche : suggestions ---------- */
.search{position:relative}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;list-style:none;margin:0;padding:.35rem;max-height:70vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.suggest a{display:flex;align-items:center;gap:.7rem;padding:.45rem .55rem;border-radius:12px;color:var(--ink);text-decoration:none}
.suggest li[aria-selected="true"] a,.suggest a:hover{background:var(--soft)}
.suggest img,.suggest .sg-ph{width:44px;height:44px;flex:none;border-radius:10px;object-fit:cover}
.suggest .sg-ph{display:grid;place-items:center;background:var(--forest);color:var(--mango);font:800 1.1rem var(--display)}
.suggest .sg-name{font-weight:600;line-height:1.25;min-width:0}
.suggest .sg-price{margin-left:auto;padding-left:.6rem;font-weight:700;white-space:nowrap}
.suggest .sg-all a{justify-content:center;font-weight:700;color:var(--link)}

/* ---------- Compte client ---------- */
.account h1{margin-bottom:1.2rem}
.account h2{margin-top:2rem}
.account-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.8rem}
.account-nav a{padding:.55rem 1.05rem;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:700;text-decoration:none}
.account-nav a:hover{border-color:var(--forest);color:var(--forest)}
.account section ul{margin:0 0 1rem;padding-left:1.2rem;line-height:1.9}
.address-list{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:.9rem}
.account .address-list li{padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);line-height:1.7}
.address-list button{margin-left:.6rem;padding:.4rem .9rem;font-size:.82rem;background:transparent;color:var(--chili);border-color:var(--chili)}
.account form[action$="/compte/connexion"],.account form[action$="/compte/inscription"]{max-width:460px;padding:1.4rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.account .orders-table,.account .order-items{margin-bottom:1.5rem}
.account .grid .product-card{display:block;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s,box-shadow .2s}
.account .grid .product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.account .product-card a{display:block;padding:0 0 1rem;color:var(--ink);text-decoration:none}
.account .product-card img{width:100%;aspect-ratio:1;object-fit:cover}
.account .product-card h3,.account .product-card p{margin:.7rem 1rem 0}
@media (max-width:640px){.account .orders-table{display:block;overflow-x:auto}}

/* VoixPlus : palette bleu doux (même noms de variables que style.css) */
:root{--forest:#2C5C9E;--deep:#142A4A;--leaf:#3B6DB0;--mango:#F0B64A;--chili:#C2402F;--link:#2C5C9E}

/* ---------- VoixPlus : nouvel accueil ---------- */
.btn-blue{background:var(--forest);color:#fff}.btn-blue:hover{filter:brightness(1.08)}
.home-hero{background:radial-gradient(760px 380px at 88% 8%,rgba(44,92,158,.16),transparent 62%),var(--surface);border-bottom:1px solid var(--line)}
.home-hero-in{max-width:1240px;margin:auto;padding:3.6rem 1.25rem 4.6rem;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2.5rem;align-items:center}
.home-hero h1{font-size:clamp(2.2rem,4.8vw,3.7rem);line-height:1.04;letter-spacing:-.035em;font-weight:800;max-width:14ch;margin:0 0 1rem;color:var(--ink)}
.home-lead{font-size:1.15rem;color:var(--muted);max-width:50ch;margin:0 0 1.6rem}
.home-search{display:flex;gap:.5rem;max-width:580px;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:.4rem}
.home-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);padding:.7rem .9rem;font:inherit;outline-offset:2px}
.home-search .btn{padding:.7rem 1.3rem}
.home-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
.home-chips a{padding:.35rem .85rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;font-size:.92rem;font-weight:600}
.home-chips a:hover{border-color:var(--forest);color:var(--forest)}
.home-art svg{width:100%;max-width:470px;height:auto;display:block;margin-inline:auto}
.home-states{max-width:1240px;margin:-2.4rem auto 0;padding:0 1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;position:relative;z-index:2}
.home-state{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--forest);border-radius:16px;color:var(--ink);text-decoration:none;box-shadow:0 10px 28px -16px rgba(20,42,74,.35)}
.home-state strong{font-size:1.15rem}.home-state span{color:var(--muted);font-size:.93rem}
.home-state.s-refurb{border-left-color:var(--leaf)}.home-state.s-used{border-left-color:var(--mango)}
.home-state:hover{border-color:var(--forest)}
.home-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.9rem}
.home-cat{display:flex;align-items:center;gap:.85rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none}
.home-cat:hover{border-color:var(--forest)}
.home-cat-ico{width:46px;height:46px;border-radius:14px;background:rgba(44,92,158,.12);color:var(--forest);display:grid;place-items:center;flex:none}
.home-cat b{font-size:1rem;line-height:1.25}
.home-perks{max-width:1240px;margin:1.6rem auto 0;padding:0 1.25rem}
.home-perks-in{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-perks-in strong{display:block}.home-perks-in span{color:var(--muted);font-size:.93rem}
@media (prefers-color-scheme:dark){.home-cat-ico{background:rgba(141,177,230,.16)}.home-state{box-shadow:none}}
@media (max-width:900px){.home-hero-in{grid-template-columns:1fr;padding:2.4rem 1.25rem 4rem}.home-art{order:-1}.home-art svg{max-width:300px}
.home-states,.home-perks-in{grid-template-columns:1fr}.home-search{flex-direction:column;border-radius:16px}.home-search .btn{width:100%}}
