/* ==========================================================================
   UNO Destockage — habillage du site
   Chargé APRÈS style.css et destockagogo.css : redéfinit les jetons de couleur (clair + nuit)
   puis restyle l'en-tête, l'accueil, les cartes lot, la page contact et le pied de page.
   Palette tirée de l'enseigne : jaune soleil, bleu UNO, rouge des panneaux.
   ========================================================================== */

:root {
  --uno-blue:      #1B3A9E;
  --uno-blue-2:    #122A78;   /* bleu profond : fonds sombres, survols */
  --uno-blue-3:    #E8EDFB;   /* bleu très clair : fonds d'accent */
  --uno-yellow:    #F6C417;
  --uno-yellow-2:  #FFE27A;
  --uno-yellow-d:  #C99A00;
  --uno-red:       #C8202F;
  --uno-ink:       #141A2B;
  --uno-mut:       #566079;   /* 5,9:1 sur blanc */
  --uno-line:      #DCE1EE;
  --uno-bg:        #F3F5FA;
  --uno-surface:   #FFFFFF;
  --uno-radius:    10px;
  --uno-shadow:    0 1px 2px rgba(20,26,43,.06), 0 6px 18px -8px rgba(20,26,43,.18);
  --uno-head:      'Barlow Condensed', 'Arial Narrow', system-ui, sans-serif;
  --uno-body:      'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* anciens jetons redirigés vers la nouvelle palette (les pages non refondues en profitent) */
  --dg-ink: var(--uno-ink);
  --dg-mut: var(--uno-mut);
  --dg-line: var(--uno-line);
  --dg-bg: var(--uno-bg);
  --dg-ac: var(--uno-blue);
  --dg-ac2: var(--uno-blue-3);
  --dg-red: var(--uno-red);
  --dg-text: #2A3147;
  --surface: var(--uno-surface);
  --nav-bg: rgba(255,255,255,.98);
  --ink-solid: var(--uno-ink);
  --on-ink: #fff;

  --offwhite: var(--uno-bg);
  --offwhite-2: #EAEEF7;
  --offwhite-3: var(--uno-line);
  --graphite-950: var(--uno-ink);
  --graphite-900: var(--uno-ink);
  --graphite-800: #232B42;
  --copper: var(--uno-blue);
  --copper-dark: var(--uno-blue-2);
  --copper-light: #4C6AD1;
  --copper-pale: var(--uno-blue-3);
  --gold: var(--uno-red);
  --gold-dark: #9C1624;
  --gold-pale: #FBE5E7;
  --green: var(--uno-red);
  --green-dark: #9C1624;
  --green-pale: var(--uno-blue-3);
  --red: var(--uno-red);
  --shadow-copper: 0 4px 18px rgba(27,58,158,.25);

  --font-primary: var(--uno-body);
  --font-secondary: var(--uno-head);
  --max-width: 1280px;
  --nav-height: 118px;
}
[data-theme="dark"] {
  --uno-blue:      #8FA8FF;
  --uno-blue-2:    #0E1530;
  --uno-blue-3:    #1B2447;
  --uno-ink:       #EEF1FA;
  --uno-mut:       #A9B2CB;
  --uno-line:      #2B3354;
  --uno-bg:        #0C1020;
  --uno-surface:   #151B30;
  --uno-red:       #FF6B78;
  --uno-shadow:    0 1px 2px rgba(0,0,0,.4), 0 8px 22px -8px rgba(0,0,0,.6);

  --dg-text: #D3D9EA;
  --nav-bg: rgba(21,27,48,.98);
  --ink-solid: #EEF1FA;
  --on-ink: #0C1020;
  --white: #151B30;
  --offwhite: #0C1020;
  --offwhite-2: #1B2240;
  --offwhite-3: #2B3354;
  --graphite-950: #EEF1FA;
  --graphite-900: #EEF1FA;
  --graphite-800: #DDE2F1;
  --graphite-700: #CBD2E6;
  --graphite-600: #B7BFD6;
  --graphite-500: #A9B2CB;
  --graphite-400: #A9B2CB;
  --graphite-300: #8C96B2;
  --graphite-200: #66708E;
  --graphite-100: #3A4468;
  --copper: #8FA8FF;
  --copper-dark: #B5C5FF;
  --copper-light: #6C86E8;
  --copper-pale: #1B2447;
  --gold: #FF6B78;
  --gold-dark: #FF9AA3;
  --gold-pale: #3A1A20;
  --green: #FF6B78;
  --green-dark: #FF9AA3;
  --green-pale: #1B2447;
  --shadow-copper: 0 4px 18px rgba(0,0,0,.45);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--uno-body);
  font-size: 16px;
  line-height: 1.55;
  background: var(--uno-bg);
  color: var(--uno-ink);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
  font-family: var(--uno-head);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.08;
  color: var(--uno-ink);
}
a { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--uno-yellow); outline-offset: 2px; border-radius: 4px; }
.uno-ld :focus-visible { outline: none; }
.sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 3000; background: var(--uno-yellow); color: var(--uno-blue-2); font-weight: 700; padding: 10px 16px; border-radius: 8px; transition: top .15s; }
.skip-link:focus { top: 12px; }
#main:focus { outline: none; }
.ic { flex: none; display: inline-block; vertical-align: middle; }
img { max-width: 100%; }

/* ---------- Écran de chargement ---------- */
.uno-loader { display: none; }
html.uno-ld body { overflow: hidden; }
html.uno-ld .uno-loader {
  display: grid; place-items: center; position: fixed; inset: 0; z-index: 5000;
  background: var(--uno-yellow); color: var(--uno-blue-2);
  transition: transform .65s cubic-bezier(.77,0,.18,1), opacity .3s .35s;
}
html.uno-ld .uno-loader.is-out { transform: translateY(-100%); opacity: 0; }
.uno-loader-box { text-align: center; padding: 24px; }
.uno-loader-ball { display: block; width: 132px; height: 132px; margin: 0 auto; border-radius: 50%; box-shadow: 0 0 0 7px #fff, 0 16px 0 -2px rgba(18,42,120,.18); background: #F6C417; animation: uno-bounce .7s cubic-bezier(.3,0,.5,1) infinite alternate; }
.uno-loader-shadow { width: 96px; height: 12px; border-radius: 50%; background: rgba(18,42,120,.2); margin: 22px auto 0; animation: uno-shadow .7s cubic-bezier(.3,0,.5,1) infinite alternate; }
.uno-loader-name { font-family: var(--uno-head); font-weight: 800; font-size: 2.4rem; letter-spacing: .14em; margin-top: 18px; line-height: 1; }
.uno-loader-text { font-weight: 600; font-size: 1rem; margin-top: 8px; opacity: .85; }
.uno-loader-bar { width: 220px; max-width: 70vw; height: 8px; border-radius: 8px; background: rgba(18,42,120,.18); margin: 18px auto 0; overflow: hidden; }
.uno-loader-bar i { display: block; height: 100%; width: 0; border-radius: 8px; background: #1B3A9E; animation: uno-fill 1.3s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes uno-bounce { from { transform: translateY(0) scale(1.05, .95); } to { transform: translateY(-30px) scale(.97, 1.03); } }
@keyframes uno-shadow { from { transform: scaleX(1); opacity: .9; } to { transform: scaleX(.62); opacity: .5; } }
@keyframes uno-fill { to { width: 100%; } }
@media (prefers-reduced-motion: reduce) {
  html.uno-ld .uno-loader { display: none; }
  html.uno-ld body { overflow: auto; }
}

/* ---------- Boutons ---------- */
.uno-btn, .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--uno-body); font-weight: 700; font-size: .95rem; letter-spacing: .01em; line-height: 1.2;
  min-height: 44px; padding: 11px 22px; border-radius: 8px; border: 2px solid transparent;
  cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .18s, color .18s, border-color .18s, box-shadow .18s, transform .12s;
}
.uno-btn:active, .btn:active { transform: translateY(1px); }
.uno-btn-lg { min-height: 52px; padding: 14px 28px; font-size: 1.05rem; }
.uno-btn-block { width: 100%; }
.uno-btn-yellow, .btn-primary { background: var(--uno-yellow); color: #122A78; border-color: var(--uno-yellow); box-shadow: 0 3px 0 var(--uno-yellow-d); }
.uno-btn-yellow:hover, .btn-primary:hover { background: #FFD43B; border-color: #FFD43B; color: #122A78; box-shadow: 0 2px 0 var(--uno-yellow-d); transform: translateY(1px); }
.uno-btn-blue { background: #1B3A9E; color: #fff; border-color: #1B3A9E; box-shadow: 0 3px 0 #0E2260; }
.uno-btn-blue:hover { background: #2347BD; border-color: #2347BD; color: #fff; box-shadow: 0 2px 0 #0E2260; transform: translateY(1px); }
[data-theme="dark"] .uno-btn-blue { background: #3B63E8; border-color: #3B63E8; box-shadow: 0 3px 0 #1E3A9A; }
.uno-btn-outline, .btn-outline { background: transparent; color: var(--uno-blue); border-color: var(--uno-blue); }
.uno-btn-outline:hover, .btn-outline:hover { background: var(--uno-blue); color: #fff; border-color: var(--uno-blue); transform: none; }
[data-theme="dark"] .uno-btn-outline:hover, [data-theme="dark"] .btn-outline:hover { color: #0C1020; }
.uno-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.uno-btn-ghost:hover { background: #fff; color: #122A78; border-color: #fff; }
.uno-btn-light { background: #fff; color: #122A78; border-color: #fff; }
.uno-btn-light:hover { background: #E8EDFB; border-color: #E8EDFB; color: #122A78; }
.btn-light { background: var(--uno-surface); color: var(--uno-ink); border-color: var(--uno-line); }
.btn-light:hover { background: var(--uno-bg); transform: none; box-shadow: none; }
.btn-dark { background: var(--uno-blue-2); color: #fff; border-color: var(--uno-blue-2); }
[data-theme="dark"] .btn-primary { background: var(--uno-yellow); border-color: var(--uno-yellow); color: #122A78; }
[data-theme="dark"] .btn-primary:hover { background: #FFD43B; border-color: #FFD43B; }
.btn-lg { min-height: 50px; padding: 13px 26px; font-size: 1rem; border-radius: 8px; }
.btn-sm { min-height: 38px; padding: 8px 14px; font-size: .85rem; }
.btn-green { background: #1B7F4B; border-color: #1B7F4B; color: #fff; }

/* ---------- Barre d'information (haut) ---------- */
.uh-top { background: var(--uno-blue-2); color: #DDE4FF; font-size: .84rem; }
.uh-top-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
.uh-top-info { list-style: none; display: flex; gap: 22px; margin: 0; padding: 0; }
.uh-top-info li { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.uh-top-info .ic { color: var(--uno-yellow); }
.uh-top-tools { display: flex; align-items: center; gap: 12px; }
.uh-top-link { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 600; }
.uh-top-link:hover { color: var(--uno-yellow); }
.uh-top .dg-lang { background: transparent; border: 0; padding: 0; gap: 2px; }
.uh-top .dg-lang-opt { color: #DDE4FF; font-size: .78rem; font-weight: 600; padding: 4px 7px; border-radius: 5px; background: transparent; border: 0; }
.uh-top .dg-lang-opt:hover { background: rgba(255,255,255,.12); color: #fff; }
.uh-top .dg-lang-opt.on { background: var(--uno-yellow); color: #122A78; }
.uh-top .dg-langmenu summary { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.35); border-radius: 6px; padding: 3px 9px; font-weight: 700; font-size: .78rem; }
.uh-top .dg-langmenu-list { color: var(--uno-ink); }
.uh-top .dg-theme { width: 30px; height: 30px; background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.uh-top .dg-theme:hover { background: rgba(255,255,255,.14); }
.dg-theme .ic-sun { display: none; }
[data-theme="dark"] .dg-theme .ic-sun { display: inline-flex; }
[data-theme="dark"] .dg-theme .ic-moon { display: none; }

/* ---------- En-tête principal ---------- */
.site-nav.uh { position: sticky; top: 0; z-index: 1000; height: auto; background: var(--uno-surface); border-bottom: 1px solid var(--uno-line); box-shadow: 0 2px 0 var(--uno-yellow); transition: transform .25s ease; }
.site-nav.uh.scrolled { box-shadow: 0 2px 0 var(--uno-yellow), 0 8px 20px -12px rgba(20,26,43,.3); }
.site-nav.uh.uh-hide { transform: translateY(-100%); }
.uh-main { display: grid; grid-template-columns: auto minmax(220px, 1fr) auto; align-items: center; gap: 28px; height: 78px; }
.uh-burger { display: none; }
.uh-logo { display: inline-flex; align-items: center; }
.uh-logo img { height: 48px; width: auto; display: block; }
.uh-logo .logo-dark, .uf-brand .logo-dark { display: none; }
[data-theme="dark"] .uh-logo .logo-light { display: none; }
[data-theme="dark"] .uh-logo .logo-dark { display: block; }
.uh-search { display: flex; align-items: stretch; max-width: 640px; width: 100%; justify-self: center; border: 2px solid var(--uno-blue); border-radius: 8px; overflow: hidden; background: var(--uno-surface); }
.uh-search:focus-within { box-shadow: 0 0 0 3px var(--uno-yellow); }
.uh-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 12px 16px; font: inherit; font-size: 1rem; background: transparent; color: var(--uno-ink); }
.uh-search input::placeholder { color: var(--uno-mut); }
.uh-search button { border: 0; background: var(--uno-blue); color: #fff; width: 54px; display: grid; place-items: center; cursor: pointer; transition: background .15s; }
[data-theme="dark"] .uh-search button { background: #3B63E8; }
.uh-search button:hover { background: var(--uno-blue-2); }
.uh-actions { display: flex; align-items: center; gap: 6px; }
.uh-act { position: relative; display: inline-flex; flex-direction: column; align-items: center; gap: 2px; min-width: 64px; padding: 6px 10px; border-radius: 8px; color: var(--uno-ink); font-size: .76rem; font-weight: 600; background: transparent; border: 0; box-shadow: none; text-decoration: none; }
.uh-act:hover { background: var(--uno-blue-3); color: var(--uno-blue); box-shadow: none; }
.uh-act-label { line-height: 1; }
.uh-act .nav-fav-count, .uh-act .cart-badge { position: absolute; top: 0; right: 10px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: var(--uno-red); color: #fff; font-size: .7rem; font-weight: 700; display: grid; place-items: center; border: 2px solid var(--uno-surface); }
.uh-act .nav-fav-count[hidden] { display: none; }
.uh-cart { background: var(--uno-yellow); color: #122A78; box-shadow: 0 3px 0 var(--uno-yellow-d); margin-left: 6px; border: 0; }
.uh-cart:hover { background: #FFD43B; color: #122A78; }
.uh-cart .cart-badge { background: #122A78; color: #fff; border-color: var(--uno-yellow); }

/* rayons */
.uh-cats { border-top: 1px solid var(--uno-line); background: var(--uno-surface); }
.uh-cats-in { display: flex; align-items: stretch; gap: 2px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.uh-cats-in::-webkit-scrollbar { display: none; }
.uh-cat { display: inline-flex; align-items: center; gap: 7px; padding: 0 14px; height: 46px; font-weight: 700; font-size: .95rem; color: var(--uno-ink); white-space: nowrap; border-bottom: 3px solid transparent; text-decoration: none; transition: color .15s, border-color .15s, background .15s; }
.uh-cat:hover { color: var(--uno-blue); background: var(--uno-blue-3); }
.uh-cat.on { color: var(--uno-blue); border-bottom-color: var(--uno-blue); }
.uh-cat-all { background: var(--uno-blue); color: #fff; margin-right: 8px; }
.uh-cat-all:hover { background: var(--uno-blue-2); color: #fff; }
.uh-cat-all.on { color: #fff; border-bottom-color: var(--uno-yellow); }
[data-theme="dark"] .uh-cat-all { background: #3B63E8; }
.uh-cats-sep { flex: 1 1 auto; min-width: 12px; }
.uh-cat-deal { color: var(--uno-red); }
.uh-cat-deal:hover { color: var(--uno-red); }

/* menu mobile */
.mobile-nav { background: var(--uno-surface); }
.mobile-nav-close { position: absolute; top: 16px; right: 16px; font-size: 1.5rem; background: none; border: 0; cursor: pointer; color: var(--uno-ink); width: 44px; height: 44px; }
.mobile-nav-link { font-family: var(--uno-head); font-size: 1.5rem; font-weight: 700; color: var(--uno-ink); }
.mobile-nav-link.mobile-nav-sub { font-family: var(--uno-body); font-size: 1rem; font-weight: 600; padding-left: 28px; color: var(--uno-mut); }

/* ---------- Titres de section ---------- */
.uno-section { padding: 64px 0; }
.uno-section-tint { background: var(--uno-surface); border-block: 1px solid var(--uno-line); }
.uno-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.uno-head h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); margin: 0; }
.uno-head p { margin: 6px 0 0; color: var(--uno-mut); font-size: 1.05rem; }
.uno-more { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--uno-blue); }
.uno-more:hover { color: var(--uno-blue-2); text-decoration: underline; }
[data-theme="dark"] .uno-more:hover { color: #fff; }

/* ---------- Bannière d'accueil : diaporama plein écran ---------- */
.uno-hero { position: relative; background: #122A78; color: #fff; overflow: hidden; isolation: isolate; }
.uno-slides { position: absolute; inset: 0; z-index: 0; }
.uno-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1s ease; }
.uno-slide.is-on { opacity: 1; z-index: 1; }
.uno-slide img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.04); transition: transform 7s ease-out; }
.uno-slide.is-on img { transform: scale(1); }
.uno-slide figcaption { position: absolute; right: 24px; bottom: 76px; z-index: 2; display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.96); color: #122A78; font-weight: 700; font-size: .88rem; padding: 7px 14px; border-radius: 999px; box-shadow: 0 6px 16px rgba(0,0,0,.25); }
.uno-hero::before { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg, rgba(18,42,120,.95) 0%, rgba(18,42,120,.84) 26%, rgba(18,42,120,.32) 50%, rgba(18,42,120,0) 68%); }
.uno-hero-in { position: relative; z-index: 3; display: flex; align-items: center; min-height: 600px; padding-block: 56px 90px; }
.uno-hero-text { max-width: 580px; }
.uno-kicker { display: inline-block; font-weight: 700; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: #122A78; background: var(--uno-yellow); padding: 5px 12px; border-radius: 4px; }
.uno-kicker-blue { color: var(--uno-blue); background: var(--uno-blue-3); }
.uno-hero h1 { color: #fff; font-size: clamp(2.6rem, 5.4vw, 4.6rem); font-weight: 800; line-height: .98; margin: 18px 0 16px; text-transform: uppercase; text-shadow: 0 2px 14px rgba(0,0,0,.25); }
.uno-hero p { font-size: 1.15rem; color: #EAEFFF; max-width: 50ch; margin: 0; }
.uno-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.uno-hero-points { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; margin: 26px 0 0; font-weight: 600; font-size: .95rem; }
.uno-hero-points li { display: inline-flex; align-items: center; gap: 7px; }
.uno-hero-points .ic { color: var(--uno-yellow); }
.uno-hero-ctrl { position: absolute; z-index: 4; left: 0; right: 0; bottom: 22px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.uno-dots { display: inline-flex; gap: 4px; }
.uno-dot { width: 44px; height: 44px; background: transparent; border: 0; padding: 0; cursor: pointer; position: relative; }
.uno-dot::before { content: ''; position: absolute; left: 50%; top: 50%; width: 26px; height: 6px; transform: translate(-50%, -50%); border-radius: 4px; background: rgba(255,255,255,.5); transition: background .2s, width .2s; }
.uno-dot:hover::before { background: rgba(255,255,255,.85); }
.uno-dot.on::before { background: var(--uno-yellow); width: 38px; }
.uno-ctrl { width: 44px; height: 44px; border-radius: 50%; border: 2px solid rgba(255,255,255,.75); background: rgba(18,42,120,.55); color: #fff; display: inline-grid; place-items: center; cursor: pointer; transition: background .15s, border-color .15s; }
.uno-ctrl:hover { background: var(--uno-yellow); border-color: var(--uno-yellow); color: #122A78; }
.ic.flip { transform: scaleX(-1); }
.uno-pause .i-pause { width: 12px; height: 14px; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.uno-pause[aria-pressed="true"] .i-pause { width: 0; height: 0; border: 0; border-left: 12px solid currentColor; border-top: 8px solid transparent; border-bottom: 8px solid transparent; margin-left: 3px; }

/* ---------- Garanties ---------- */
.uno-trust { background: var(--uno-surface); border-bottom: 1px solid var(--uno-line); }
.uno-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.uno-trust-item { display: flex; align-items: center; gap: 14px; padding: 22px 20px; border-right: 1px solid var(--uno-line); }
.uno-trust-item:last-child { border-right: 0; }
.uno-trust-item .ic { color: var(--uno-blue); }
.uno-trust-item b { display: block; font-size: 1rem; line-height: 1.2; }
.uno-trust-item span { display: block; font-size: .85rem; color: var(--uno-mut); line-height: 1.35; margin-top: 2px; }

/* ---------- Rayons ---------- */
.uno-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; }
.uno-cat { display: flex; flex-direction: column; background: var(--uno-surface); border: 1px solid var(--uno-line); border-radius: var(--uno-radius); overflow: hidden; color: var(--uno-ink); text-decoration: none; transition: border-color .18s, box-shadow .18s, transform .18s; }
.uno-cat:hover { border-color: var(--uno-blue); box-shadow: var(--uno-shadow); transform: translateY(-3px); }
.uno-cat-photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--uno-blue-3); }
.uno-cat-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.uno-cat:hover .uno-cat-photo img { transform: scale(1.05); }
.uno-cat-icon { display: grid; place-items: center; color: var(--uno-blue); }
.uno-cat-name { font-family: var(--uno-head); font-weight: 700; font-size: 1.35rem; line-height: 1.1; padding: 12px 14px 0; }
.uno-cat small { padding: 2px 14px 14px; color: var(--uno-mut); font-size: .85rem; }

/* ---------- Cartes lot ---------- */
.products-grid { grid-template-columns: repeat(4, 1fr); gap: 18px; }
.product-card { background: var(--uno-surface); border: 1px solid var(--uno-line); border-radius: var(--uno-radius); }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--uno-shadow); border-color: var(--uno-blue); }
.product-card-img-wrap { aspect-ratio: 4 / 3; background: #fff; border-bottom: 1px solid var(--uno-line); }
[data-theme="dark"] .product-card-img-wrap { background: #1B2240; }
.badge-savings { top: 10px; left: 10px; background: var(--uno-red); color: #fff; border-radius: 4px; font-family: var(--uno-head); font-size: 1.05rem; font-weight: 800; letter-spacing: .02em; padding: 2px 9px; line-height: 1.25; }
[data-theme="dark"] .badge-savings { color: #0C1020; }
.badge-status { border-radius: 4px; }
.badge-status.available { background: #E3F5EA; color: #11643A; }
[data-theme="dark"] .badge-status.available { background: #12301F; color: #7BE0A3; }
.product-card-body { padding: 14px 16px 16px; gap: 6px; }
.product-card-category { color: var(--uno-blue); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.product-card-name { font-family: var(--uno-body); font-size: 1rem; font-weight: 600; line-height: 1.3; color: var(--uno-ink); min-height: 2.6em; }
.product-card-meta { color: var(--uno-mut); }
.product-card-pricing { border-top: 1px solid var(--uno-line); align-items: baseline; }
.product-card-price { font-family: var(--uno-head); font-size: 2rem; font-weight: 800; line-height: 1; color: var(--uno-red); }
.product-card-value { font-size: .9rem; color: var(--uno-mut); }
.product-card-cta { background: var(--uno-blue); color: #fff; border: 2px solid var(--uno-blue); border-radius: 8px; font-weight: 700; padding: 10px 14px; }
.product-card:hover .product-card-cta, .product-card:focus-visible .product-card-cta { background: var(--uno-blue-2); border-color: var(--uno-blue-2); color: #fff; }
[data-theme="dark"] .product-card-cta { background: #3B63E8; border-color: #3B63E8; color: #fff; }
.fav-btn { background: #fff; color: var(--uno-ink); }
.badge-last { background: var(--uno-blue-2); color: #fff; border-radius: 4px; }
.product-card-timer, .dgp-timer { color: var(--uno-red); }

/* ---------- Magasin ---------- */
.uno-store { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.uno-store-photos { display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px; }
.uno-store-photos img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; display: block; aspect-ratio: 3 / 4; border: 4px solid #fff; box-shadow: var(--uno-shadow); }
.uno-store-photos img:last-child { margin-top: 34px; }
[data-theme="dark"] .uno-store-photos img { border-color: var(--uno-surface); }
.uno-store-text h2 { font-size: clamp(2rem, 3.6vw, 3rem); margin: 14px 0 14px; }
.uno-store-text p { color: var(--uno-mut); font-size: 1.1rem; margin: 0; max-width: 52ch; }
.uno-store-list { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 9px; font-weight: 600; }
.uno-store-list li { display: flex; align-items: center; gap: 9px; }
.uno-store-list .ic { color: #11803F; }
.uno-store-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* ---------- Étapes ---------- */
.uno-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0; margin: 0; counter-reset: s; }
.uno-steps li { display: flex; flex-direction: column; gap: 4px; background: var(--uno-bg); border: 1px solid var(--uno-line); border-radius: var(--uno-radius); padding: 22px; }
.uno-steps b { font-family: var(--uno-head); font-size: 1.5rem; line-height: 1.1; }
.uno-steps li span:last-child { color: var(--uno-mut); }
.uno-step-n { width: 42px; height: 42px; border-radius: 50%; background: var(--uno-yellow); color: #122A78; display: grid; place-items: center; font-family: var(--uno-head); font-weight: 800; font-size: 1.4rem; margin-bottom: 8px; }

/* ---------- En-tête de page + fil d'Ariane ---------- */
.uno-pagehead { background: linear-gradient(120deg, #122A78 0%, #1B3A9E 100%); color: #fff; padding: 36px 0 40px; border-bottom: 4px solid var(--uno-yellow); }
.uno-pagehead h1 { color: #fff; font-size: clamp(2.2rem, 4.6vw, 3.4rem); text-transform: uppercase; font-weight: 800; margin: 8px 0 8px; }
.uno-pagehead p { color: #DDE4FF; margin: 0; max-width: 64ch; font-size: 1.1rem; }
.uno-crumbs { display: flex; gap: 8px; align-items: center; font-size: .88rem; color: #C3CEF7; }
.uno-crumbs a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); }
.page-header { background: linear-gradient(120deg, #122A78 0%, #1B3A9E 100%); border-bottom: 4px solid var(--uno-yellow); padding: 30px 0; }
.page-header-title { font-family: var(--uno-head); text-transform: uppercase; font-weight: 800; color: #fff; font-size: clamp(2rem, 4.2vw, 3rem); }
.page-header-breadcrumb, .page-header-breadcrumb a { color: #C3CEF7; }
.page-header-breadcrumb a:hover { color: var(--uno-yellow); }
.page-header-breadcrumb .sep { color: rgba(255,255,255,.35); }

/* ---------- Contact ---------- */
.uno-ct { padding-top: 40px; }
.uno-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-bottom: 28px; }
.uno-quick-card { display: flex; align-items: center; gap: 14px; background: var(--uno-surface); border: 1px solid var(--uno-line); border-radius: var(--uno-radius); padding: 18px; color: var(--uno-ink); text-decoration: none; transition: border-color .18s, box-shadow .18s, transform .18s; }
.uno-quick-card:hover { border-color: var(--uno-blue); box-shadow: var(--uno-shadow); transform: translateY(-2px); }
.uno-quick-card .ic { color: var(--uno-blue); background: var(--uno-blue-3); width: 52px; height: 52px; padding: 13px; border-radius: 12px; flex: none; }
.uno-quick-card b { display: block; font-family: var(--uno-head); font-size: 1.35rem; line-height: 1.1; }
.uno-quick-card small { display: block; color: var(--uno-mut); font-size: .9rem; overflow-wrap: anywhere; }
.uno-ct-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; align-items: start; }
.uno-card { background: var(--uno-surface); border: 1px solid var(--uno-line); border-radius: 14px; padding: 28px; box-shadow: 0 1px 2px rgba(20,26,43,.04); }
.uno-card h2 { font-size: 1.9rem; margin: 0 0 6px; }
.uno-form-lead { color: var(--uno-mut); margin: 0 0 20px; }
.uno-form { display: block; }
.uno-form .form-group { margin-bottom: 16px; display: flex; flex-direction: column; gap: 6px; }
.uno-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.uno-reasons { border: 0; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.uno-reasons legend { font-weight: 700; font-size: .85rem; color: var(--uno-ink); margin-bottom: 8px; padding: 0; float: left; width: 100%; }
.uno-chip { position: relative; cursor: pointer; }
.uno-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.uno-chip span { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 16px; border: 2px solid var(--uno-line); border-radius: 999px; font-weight: 600; font-size: .92rem; background: var(--uno-surface); color: var(--uno-ink); transition: .15s; }
.uno-chip:hover span { border-color: var(--uno-blue); }
.uno-chip input:checked + span { background: var(--uno-blue); color: #fff; border-color: var(--uno-blue); }
[data-theme="dark"] .uno-chip input:checked + span { background: #3B63E8; border-color: #3B63E8; }
.uno-chip input:focus-visible + span { outline: 3px solid var(--uno-yellow); outline-offset: 2px; }
.uno-note { color: var(--uno-mut); font-size: .85rem; margin: 12px 0 0; }
.uno-ct-side { display: grid; gap: 24px; }
.uno-info { list-style: none; margin: 14px 0 18px; padding: 0; display: grid; gap: 14px; }
.uno-info li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.45; }
.uno-info .ic { color: var(--uno-blue); margin-top: 2px; }
.uno-map { position: relative; background: repeating-linear-gradient(45deg, var(--uno-blue-3), var(--uno-blue-3) 14px, var(--uno-surface) 14px, var(--uno-surface) 28px); border: 1px solid var(--uno-line); border-radius: 12px; min-height: 220px; display: grid; place-items: center; text-align: center; padding: 18px; margin-bottom: 14px; overflow: hidden; }
.uno-map small { display: block; margin-top: 10px; color: var(--uno-mut); max-width: 32ch; }
.uno-map-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--uno-blue); color: #fff; border: 0; border-radius: 8px; padding: 12px 20px; font: inherit; font-weight: 700; cursor: pointer; }
.uno-map-btn:hover { background: var(--uno-blue-2); }
.uno-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.uno-company p { margin: 8px 0 0; color: var(--uno-mut); font-size: .92rem; }
.uno-faq { margin-top: 48px; }
.uno-faq h2 { font-size: clamp(1.9rem, 3.2vw, 2.4rem); margin-bottom: 18px; }
.uno-faq-list { display: grid; gap: 10px; max-width: 920px; }
.uno-faq details { background: var(--uno-surface); border: 1px solid var(--uno-line); border-radius: var(--uno-radius); }
.uno-faq summary { list-style: none; cursor: pointer; padding: 16px 52px 16px 18px; font-weight: 700; font-size: 1.05rem; position: relative; }
.uno-faq summary::-webkit-details-marker { display: none; }
.uno-faq summary::after { content: '+'; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 1.6rem; font-weight: 600; color: var(--uno-blue); line-height: 1; }
.uno-faq details[open] summary::after { content: '–'; }
.uno-faq details[open] { border-color: var(--uno-blue); }
.uno-faq details p { margin: 0; padding: 0 18px 18px; color: var(--uno-mut); }

/* ---------- Formulaires (toutes pages) ---------- */
.form-label { font-weight: 700; font-size: .85rem; color: var(--uno-ink); }
.form-control, select.form-control { min-height: 46px; border: 2px solid var(--uno-line); border-radius: 8px; background: var(--uno-surface); color: var(--uno-ink); font-size: 1rem; padding: 10px 14px; }
.form-control:focus { border-color: var(--uno-blue); box-shadow: 0 0 0 3px rgba(27,58,158,.18); }
[data-theme="dark"] .form-control { background: #101528; color: var(--uno-ink); border-color: var(--uno-line); }
[data-theme="dark"] .form-control:focus { border-color: #8FA8FF; box-shadow: 0 0 0 3px rgba(143,168,255,.25); }

/* ---------- Pied de page ---------- */
.uf-help { background: var(--uno-yellow); color: #122A78; }
.uf-help-in { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-block: 26px; }
.uf-help strong { display: block; font-family: var(--uno-head); font-size: 2rem; line-height: 1.05; text-transform: uppercase; }
.uf-help span { display: block; margin-top: 4px; font-weight: 500; }
.uf-help-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.uf-help .uno-btn-yellow { background: #122A78; color: #fff; border-color: #122A78; box-shadow: none; }
.uf-help .uno-btn-yellow:hover { background: #0B1C5A; border-color: #0B1C5A; color: #fff; }
.site-footer.uf { background: #0E1D5C; color: #C9D3F7; border-top: 0; margin: 0; padding: 56px 0 24px; }
[data-theme="dark"] .site-footer.uf { background: #080C1B; }
.uf-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 40px; }
.uf-brand img { height: 52px; width: auto; display: block; }
.uf-brand p { margin: 16px 0 0; max-width: 34ch; color: #C9D3F7; font-size: .95rem; }
.uf-title { font-family: var(--uno-head); font-size: 1.3rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #fff; margin-bottom: 14px; border-bottom: 2px solid var(--uno-yellow); padding-bottom: 8px; display: inline-block; }
.uf-links, .uf-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.uf-links a, .uf-contact a { color: #C9D3F7; text-decoration: none; }
.uf-links a:hover, .uf-contact a:hover { color: var(--uno-yellow); text-decoration: underline; }
.uf-contact li { display: flex; gap: 10px; align-items: flex-start; font-size: .95rem; }
.uf-contact .ic { color: var(--uno-yellow); margin-top: 2px; }
.uf-contact strong { color: #fff; }
.uf-pay { border-top: 1px solid rgba(255,255,255,.14); margin-top: 32px; padding-top: 18px; color: #C9D3F7; }
.uf-bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.14); margin-top: 22px; padding-top: 18px; font-size: .82rem; color: #A9B8EE; }
.uf-legal { display: block; margin-top: 4px; }
.uf-bottom a { color: #fff; text-decoration: underline; }
.dg-wa { background: #1FAF55; }

/* ---------- Pages internes (boutique, fiche lot, panier) ---------- */
.shop-sidebar { background: var(--uno-surface); border: 1px solid var(--uno-line); border-radius: 12px; top: calc(var(--nav-height) + 16px); }
.dgp-price, .dgp-price-row .dgp-price { font-family: var(--uno-head); font-weight: 800; color: var(--uno-red); }
.dgp-title { font-family: var(--uno-head); font-weight: 700; }
.dgp-save { background: var(--uno-red); color: #fff; border-radius: 4px; }
[data-theme="dark"] .dgp-save { color: #0C1020; }
.section-title, .dg-sec-head h2 { font-family: var(--uno-head); }
.alert-info { background: var(--uno-blue-3); border-color: var(--uno-line); color: var(--uno-ink); }

/* ---------- Adaptation ---------- */
@media (max-width: 1100px) {
  .uh-top-info li:nth-child(3) { display: none; }
  .uno-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .uno-trust-item:nth-child(2) { border-right: 0; }
  .uno-trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--uno-line); }
  .uno-store { grid-template-columns: 1fr; gap: 36px; }
  .uno-ct-grid { grid-template-columns: 1fr; }
  .uf-grid { grid-template-columns: 1fr 1fr; }
  .uf-brand { grid-column: 1 / -1; }
  .products-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  :root { --nav-height: 100px; }
  .uh-top-info { display: none; }
  .uh-top-in { justify-content: flex-end; min-height: 36px; }
  .uh-main { grid-template-columns: auto 1fr auto; grid-template-areas: "burger logo actions" "search search search"; gap: 8px 10px; height: auto; padding-block: 8px 10px; }
  .uh-burger { display: inline-flex; grid-area: burger; align-items: center; justify-content: center; width: 44px; height: 44px; background: transparent; border: 0; color: var(--uno-ink); cursor: pointer; border-radius: 8px; }
  .uh-logo { grid-area: logo; justify-self: start; }
  .uh-logo img { height: 38px; }
  .uh-actions { grid-area: actions; gap: 2px; }
  .uh-search { grid-area: search; max-width: none; }
  .uh-search input { padding: 10px 14px; }
  .uh-search button { width: 48px; }
  .uh-act { min-width: 44px; padding: 6px; }
  .uh-act-label { display: none; }
  .uh-cart { margin-left: 2px; }
  .uh-act .nav-fav-count, .uh-act .cart-badge { right: 0; top: -2px; }
  .uh-cats { display: none; }
  .uno-section { padding: 40px 0; }
  .uno-head { margin-bottom: 18px; }
  .uno-trust-item { padding: 14px 12px; gap: 10px; }
  .uno-trust-item .ic { width: 22px; height: 22px; }
  .uno-trust-item span { display: none; }
  .uno-trust-item b { font-size: .9rem; }
  .uno-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .uno-cat-name { font-size: 1.15rem; padding: 10px 12px 0; }
  .uno-cat small { padding: 2px 12px 12px; font-size: .78rem; }
  .products-grid, .shop-layout .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-card-price { font-size: 1.55rem; }
  .product-card-name { min-height: 0; font-size: .9rem; }
  .product-card-body { padding: 10px 12px 12px; }
  .badge-savings { font-size: .9rem; padding: 1px 7px; top: 8px; left: 8px; }
  .uno-store-photos img:last-child { margin-top: 18px; }
  .uno-steps { grid-template-columns: 1fr; gap: 10px; }
  .uno-steps li { padding: 16px; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
  .uno-step-n { margin: 0; width: 36px; height: 36px; font-size: 1.2rem; }
  .uno-steps b { font-size: 1.25rem; }
  .uno-steps li span:last-child { flex-basis: 100%; }
  .uno-pagehead { padding: 22px 0 26px; }
  .uno-card { padding: 20px 16px; }
  .uno-row { grid-template-columns: 1fr; gap: 0; }
  .uno-quick { grid-template-columns: 1fr 1fr; gap: 10px; }
  .uno-quick-card { padding: 12px; gap: 10px; flex-direction: column; align-items: flex-start; }
  .uno-quick-card b { font-size: 1.15rem; }
  .uno-quick-card small { font-size: .8rem; }
  .uno-quick-card .ic { width: 44px; height: 44px; padding: 10px; }
  .uf-help strong { font-size: 1.55rem; }
  .uf-help-in { padding-block: 20px; }
  .site-footer.uf { padding-top: 36px; }
  .uf-grid { grid-template-columns: 1fr 1fr; gap: 26px 18px; }
  .uf-grid > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .uno-store-ctas .uno-btn { flex: 1 1 100%; }
  .uno-reasons .uno-chip span { padding: 8px 13px; font-size: .88rem; }
  .uf-help-actions { width: 100%; }
  .uf-help-actions .uno-btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .site-nav.uh, .uno-cat, .uno-quick-card, .product-card { transition: none; }
}

/* en-tête bleu des pages internes : textes secondaires lisibles */
.page-header .shop-count, .page-header-inner > span, .page-header p { color: #DDE4FF; }
.page-header .shop-count strong { color: #fff; }
.uh-top-link span { white-space: nowrap; }

/* ==========================================================================
   Mobile : pages courtes (≤ 768 px)
   ========================================================================== */
@media (max-width: 768px) {
  /* bannière : photo en haut, texte dessous, pas de dégradé latéral */
  .uno-hero { display: flex; flex-direction: column; }
  .uno-hero::before { display: none; }
  .uno-slides { position: relative; inset: auto; height: 232px; order: 0; }
  .uno-slide figcaption { right: 10px; bottom: 54px; font-size: .78rem; padding: 5px 10px; max-width: calc(100% - 20px); }
  .uno-hero-in { order: 1; min-height: 0; padding-block: 20px 14px; display: block; }
  .uno-hero-text { max-width: none; }
  .uno-hero h1 { font-size: 2.15rem; margin: 12px 0 10px; text-shadow: none; }
  .uno-hero p { font-size: 1rem; }
  .uno-hero-ctas { margin-top: 16px; gap: 8px; flex-wrap: nowrap; }
  .uno-hero-ctas .uno-btn { flex: 1 1 0; padding-inline: 10px; min-height: 48px; font-size: .95rem; white-space: normal; text-align: center; line-height: 1.15; }
  .uno-hero-ctas .uno-btn .ic { display: none; }
  .uno-hero-points { display: none; }
  .uno-hero-ctrl { position: absolute; top: 232px; bottom: auto; transform: translateY(-100%); padding-bottom: 6px; justify-content: center; gap: 2px; }
  .uno-ctrl { width: 36px; height: 36px; border-width: 1.5px; }
  .uno-ctrl .ic { width: 16px; height: 16px; }
  .uno-dot { width: 28px; height: 36px; }
  .uno-dot::before { width: 16px; height: 5px; }
  .uno-dot.on::before { width: 24px; }
  .uno-pause { margin-left: 6px; }

  /* garanties : une ligne défilante au lieu de 4 blocs */
  .uno-trust-grid { grid-template-columns: repeat(4, max-content); overflow-x: auto; scrollbar-width: none; gap: 0; padding-inline: 8px; }
  .uno-trust-grid::-webkit-scrollbar { display: none; }
  .uno-trust-item, .uno-trust-item:nth-child(2) { border-right: 1px solid var(--uno-line); border-bottom: 0; padding: 12px 16px; white-space: nowrap; }
  .uno-trust-item:last-child { border-right: 0; }

  /* rayons : défilement horizontal */
  .uno-section { padding: 26px 0; }
  .uno-head { margin-bottom: 14px; }
  .uno-head h2 { font-size: 1.7rem; }
  .uno-head p { display: none; }
  .uno-cats { display: flex; overflow-x: auto; gap: 10px; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: -16px; padding: 2px 16px 6px; -webkit-overflow-scrolling: touch; }
  .uno-cats::-webkit-scrollbar { display: none; }
  .uno-cat { flex: 0 0 142px; scroll-snap-align: start; }
  .uno-cat-photo { aspect-ratio: 4 / 3; }
  .uno-cat-icon .ic { width: 34px; height: 34px; }
  .uno-cat small { display: none; }
  .uno-cat-name { padding: 8px 10px 10px; font-size: 1.1rem; }

  /* sélection : 4 lots seulement sur l'accueil */
  .uno-home-grid > :nth-child(n+5) { display: none; }

  /* magasin : texte court, une photo */
  .uno-store { gap: 18px; }
  .uno-store-photos { grid-template-columns: 1fr; }
  .uno-store-photos img { aspect-ratio: 16 / 9; }
  .uno-store-photos img:last-child { display: none; }
  .uno-store-text h2 { font-size: 1.8rem; margin: 10px 0 8px; }
  .uno-store-text p { font-size: 1rem; }
  .uno-store-list { display: none; }
  .uno-store-ctas { margin-top: 16px; gap: 8px; flex-wrap: nowrap; }
  .uno-store-ctas .uno-btn { flex: 1 1 0; padding-inline: 8px; min-height: 46px; font-size: .9rem; white-space: normal; line-height: 1.15; }
  .uno-store-ctas .uno-btn .ic { display: none; }

  /* étapes : 3 pastilles sur une ligne */
  .uno-steps { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .uno-steps li { flex-direction: column; align-items: flex-start; padding: 12px 10px; gap: 2px; }
  .uno-steps li span:last-child { display: none; }
  .uno-steps b { font-size: 1.05rem; }
  .uno-step-n { width: 30px; height: 30px; font-size: 1.05rem; margin-bottom: 4px; }

  /* bandeau d'aide et pied de page compacts */
  .uf-help-in { padding-block: 16px; gap: 12px; }
  .uf-help strong { font-size: 1.35rem; }
  .uf-help span { font-size: .92rem; }
  .site-footer.uf { padding-top: 26px; }
  .uf-brand p { display: none; }
  .uf-brand img { height: 40px; }
  .uf-grid { gap: 20px 14px; }
  .uf-grid > div:nth-child(2) { display: none; }          /* rayons : déjà dans le menu */
  .uf-title { font-size: 1.1rem; margin-bottom: 10px; }
  .uf-links, .uf-contact { gap: 6px; font-size: .92rem; }
  .uf-pay { margin-top: 18px; padding-top: 12px; }
  .uf-bottom { margin-top: 14px; padding-top: 12px; }

  /* contact : plus court */
  .uno-company { display: none; }
  .uno-ct { padding-top: 22px; }
  .uno-faq { margin-top: 28px; }
  .uno-form-lead { margin-bottom: 14px; }
  .uno-map { min-height: 130px; padding: 12px; }
  .uno-map small { display: none; }
  .uno-form .form-group { margin-bottom: 12px; }
  #c_message { min-height: 110px; }
  .uno-card h2 { font-size: 1.6rem; }
}
@media (max-width: 400px) {
  .uno-hero h1 { font-size: 1.95rem; }
  .uno-slides { height: 210px; }
  .uno-hero-ctrl { top: 210px; }
}
@media (prefers-reduced-motion: reduce) {
  .uno-slide, .uno-slide img { transition: none; transform: none; }
}

/* ---------- Bannière : rayons en cartes (ordinateur), comme les enseignes de destockage ---------- */
.uno-hero-in { flex-direction: column; align-items: flex-start; justify-content: center; gap: 34px; min-height: 640px; padding-block: 48px 84px; }
.uno-hero-cards { list-style: none; margin: 0; padding: 0; width: 100%; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.uno-hc { display: block; background: rgba(255,255,255,.97); border-radius: 10px; overflow: hidden; color: var(--uno-ink); text-decoration: none; box-shadow: 0 10px 26px -10px rgba(0,0,0,.5); transition: transform .18s, box-shadow .18s; height: 100%; }
.uno-hc:hover { transform: translateY(-4px); box-shadow: 0 16px 30px -10px rgba(0,0,0,.6); }
.uno-hc-photo { display: grid; place-items: center; aspect-ratio: 16 / 9; background: var(--uno-blue-3); color: var(--uno-blue); overflow: hidden; }
.uno-hc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uno-hc-body { display: block; padding: 9px 12px 11px; }
.uno-hc-body b { display: block; font-family: var(--uno-head); font-size: 1.2rem; line-height: 1.1; color: #122A78; }
.uno-hc-body small { display: block; font-size: .78rem; color: var(--uno-mut); margin-top: 1px; }
[data-theme="dark"] .uno-hc { background: #151B30; }
[data-theme="dark"] .uno-hc-body b { color: #EEF1FA; }
@media (min-width: 769px) { .uno-cats-section { display: none; } }
@media (max-width: 1100px) { .uno-hero-cards { grid-template-columns: repeat(3, 1fr); } .uno-hero-in { min-height: 0; } }
@media (max-width: 768px) {
  .uno-hero-cards { display: none; }
  .uno-hero-in { gap: 0; min-height: 0; }
  /* lots de l'accueil : défilement horizontal, une seule rangée */
  .uno-home-grid { display: flex !important; overflow-x: auto; gap: 10px; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: -16px; padding: 2px 16px 8px; -webkit-overflow-scrolling: touch; }
  .uno-home-grid::-webkit-scrollbar { display: none; }
  .uno-home-grid > .product-card { flex: 0 0 64%; scroll-snap-align: start; }
  .uno-home-grid > :nth-child(n+7) { display: none; }
}
@media (min-width: 769px) { .uno-slide figcaption { top: 24px; bottom: auto; right: 24px; } }

/* rayons nombreux (8 et plus) : cartes compactes sur 4 colonnes, 2 rangées */
.uno-hero-cards { grid-template-columns: repeat(4, 1fr); gap: 10px; }
.uno-hc { display: flex; align-items: center; gap: 0; min-height: 68px; }
.uno-hc-photo { flex: none; width: 84px; height: 68px; aspect-ratio: auto; align-self: stretch; }
.uno-hc-photo .ic { width: 30px; height: 30px; }
.uno-hc-body { padding: 8px 12px; min-width: 0; }
.uno-hc-body b { font-size: 1.15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uno-hc-all { background: var(--uno-yellow); }
.uno-hc-all .uno-hc-photo { background: #FFD43B; color: #122A78; }
.uno-hc-all .uno-hc-body small { color: #122A78; }
.uno-hero-in { min-height: 620px; }
@media (max-width: 1100px) { .uno-hero-cards { grid-template-columns: repeat(2, 1fr); } }
/* barre des rayons : plus de rayons que de place -> défilement doux avec fondu à droite */
.uh-cat { padding: 0 12px; font-size: .92rem; }
.uh-cats { position: relative; }
.uh-cats::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 28px; pointer-events: none; background: linear-gradient(90deg, rgba(255,255,255,0), var(--uno-surface)); }
.uh-top-nav { font-weight: 600; opacity: .95; padding-right: 12px; border-right: 1px solid rgba(255,255,255,.25); }
.uh-top-nav.on span { color: var(--uno-yellow); }
@media (max-width: 1100px) { .uh-top-nav { display: none; } }

/* ==========================================================================
   Rayons : grand bandeau blanc posé sur le bas de la bannière
   ========================================================================== */
.uno-hero-in { min-height: 560px; padding-block: 48px 120px; }
.uno-hero-ctrl { bottom: 84px; }
.uno-rayons { position: relative; z-index: 6; margin-top: -70px; padding-bottom: 8px; }
.uno-rayons-box { background: var(--uno-surface); border: 1px solid var(--uno-line); border-radius: 16px; padding: 26px 28px 28px; box-shadow: 0 24px 50px -24px rgba(10,20,70,.55); border-top: 5px solid var(--uno-yellow); }
.uno-rayons-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.uno-rayons-head h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); margin: 0; }
.uno-rayons-head p { margin: 4px 0 0; color: var(--uno-mut); }
.uno-rayons-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.uno-ray { display: flex; align-items: stretch; height: 100%; background: var(--uno-bg); border: 2px solid var(--uno-line); border-radius: 12px; overflow: hidden; color: var(--uno-ink); text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s, background .15s; }
.uno-ray:hover, .uno-ray:focus-visible { border-color: var(--uno-blue); background: var(--uno-surface); box-shadow: 0 10px 22px -12px rgba(20,40,120,.5); transform: translateY(-2px); }
.uno-ray-ph { flex: none; width: 104px; display: grid; place-items: center; background: var(--uno-blue); color: #fff; overflow: hidden; }
[data-theme="dark"] .uno-ray-ph { background: #22306B; }
.uno-ray-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.uno-ray-ph .ic { width: 42px; height: 42px; color: var(--uno-yellow); }
.uno-ray-body { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; min-width: 0; }
.uno-ray-body b { font-family: var(--uno-head); font-size: 1.45rem; line-height: 1.05; color: var(--uno-ink); }
.uno-ray-d { font-size: .86rem; color: var(--uno-mut); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.uno-ray-n { font-size: .85rem; color: var(--uno-mut); }
.uno-ray-go { margin-top: auto; padding-top: 4px; display: inline-flex; align-items: center; gap: 5px; font-weight: 700; font-size: .9rem; color: var(--uno-blue); }
.uno-ray:hover .uno-ray-go { color: var(--uno-red); }
@media (max-width: 1100px) { .uno-rayons-grid { grid-template-columns: repeat(2, 1fr); } .uno-hero-in { min-height: 0; } }
@media (max-width: 768px) {
  .uno-hero-in { padding-block: 20px 14px; min-height: 0; }
  .uno-hero-ctrl { bottom: auto; }
  .uno-rayons { margin-top: 0; padding: 14px 0 4px; }
  .uno-rayons-box { padding: 14px 12px 14px; border-radius: 12px; box-shadow: none; }
  .uno-rayons-head { margin-bottom: 10px; }
  .uno-rayons-head h2 { font-size: 1.6rem; }
  .uno-rayons-head p { display: none; }
  .uno-rayons-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .uno-ray { flex-direction: column; border-width: 1.5px; }
  .uno-ray-ph { width: 100%; height: 66px; }
  .uno-ray-ph .ic { width: 32px; height: 32px; }
  .uno-ray-body { padding: 8px 10px 10px; gap: 0; }
  .uno-ray-body b { font-size: 1.15rem; }
  .uno-ray-d, .uno-ray-go { display: none; }
  .uno-ray-n { font-size: .78rem; }
}

/* texte d'introduction des rayons et bloc éditorial de l'accueil */
.uno-intro { color: var(--uno-mut); max-width: 90ch; margin: 0 0 18px; font-size: 1.02rem; }
.uno-seo { max-width: 920px; }
.uno-seo h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin: 0 0 12px; }
.uno-seo p { color: var(--uno-mut); font-size: 1.05rem; margin: 0 0 12px; }
@media (max-width: 768px) {
  .uno-intro { font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .uno-seo-more { display: none; }
}
