/* lebonprix.tn — une feuille, pas un cadriciel. Lisible sur telephone d'abord. */
:root{--encre:#16233a;--doux:#5b6b85;--trait:#e2e7f0;--fond:#fff;--gris:#f6f8fb;
      --accent:#1d4ed8;--vert:#0a7d4b;--rouge:#b4232a;--rayon:10px}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--encre);
     font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit;text-decoration:none}
main{max-width:1120px;margin:0 auto;padding:16px}
h1{font-size:1.5rem;line-height:1.25;margin:.2em 0 .5em}
h2{font-size:1.1rem;margin:1.6em 0 .6em}
header{display:flex;gap:16px;align-items:center;flex-wrap:wrap;
       padding:12px 16px;border-bottom:1px solid var(--trait)}
.logo{font-weight:700;font-size:1.15rem;letter-spacing:-.02em}
header form{display:flex;flex:1;min-width:260px;gap:8px}
header input{flex:1;padding:9px 12px;border:1px solid var(--trait);border-radius:var(--rayon);
             font-size:1rem}
header button{padding:9px 16px;border:0;border-radius:var(--rayon);background:var(--accent);
              color:#fff;font-size:1rem;cursor:pointer}
.fil{max-width:1120px;margin:0 auto;padding:10px 16px 0;color:var(--doux);font-size:.85rem}
.fil a:hover{text-decoration:underline}
.hero{padding:18px 0 4px}
.chiffres{color:var(--doux);font-size:.9rem}
.grille{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
.carte{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--trait);
       border-radius:var(--rayon);background:#fff}
.carte:hover{border-color:var(--accent)}
.carte img,.sans-image{height:128px;object-fit:contain;background:var(--gris);
                       border-radius:6px;margin-bottom:6px}
.carte .marque{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--doux)}
.carte .nom{font-size:.9rem;line-height:1.3;
            display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.carte .prix{font-weight:700;margin-top:auto}
.carte .chez{font-size:.78rem;color:var(--doux)}
.puces{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0}
.puces a{display:inline-block;padding:7px 12px;border:1px solid var(--trait);
         border-radius:999px;font-size:.9rem}
.puces a:hover{border-color:var(--accent)}
.puces span{color:var(--doux);font-size:.8rem}
.puces.large a{border-radius:var(--rayon)}
.pages{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:22px 0}
.pages a,.pages .ici{padding:7px 12px;border:1px solid var(--trait);border-radius:var(--rayon)}
.pages .ici{background:var(--encre);color:#fff;border-color:var(--encre)}
.pages .total{color:var(--doux);font-size:.85rem;margin-left:auto}
.fiche{display:grid;gap:20px;grid-template-columns:minmax(0,260px) minmax(0,1fr);
       align-items:start;margin:8px 0 6px}
.fiche .visuel img{width:100%;height:260px;object-fit:contain;background:var(--gris);
                   border-radius:var(--rayon)}
.fiche .marque{text-transform:uppercase;letter-spacing:.05em;color:var(--doux);
               font-size:.8rem;margin:0}
.resume{color:var(--doux);font-size:.9rem}
.meilleur{font-size:1.05rem}
.meilleur strong{font-size:1.35rem;color:var(--vert)}
.meilleur.indisponible{color:var(--doux)}
.ecart{color:var(--doux);font-size:.9rem}
.note{color:var(--doux);font-size:.85rem}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--trait);vertical-align:middle}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--doux)}
.offres .p{font-weight:700;white-space:nowrap}
.offres .p s{font-weight:400;color:var(--doux);margin-left:6px}
.offres tr.rupture{color:var(--doux)}
.offres tr.rupture .etat{color:var(--rouge)}
.badge{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;
       background:var(--vert);color:#fff;font-size:.7rem;vertical-align:middle}
.voir{display:inline-block;padding:7px 12px;border-radius:var(--rayon);
      background:var(--accent);color:#fff;font-size:.85rem;white-space:nowrap}
.vide{color:var(--doux)}
footer{max-width:1120px;margin:40px auto 0;padding:18px 16px 40px;
       border-top:1px solid var(--trait);color:var(--doux);font-size:.85rem}
footer a:hover{text-decoration:underline}
@media (max-width:640px){
  .fiche{grid-template-columns:1fr}
  .fiche .visuel img{height:200px}
  .offres th:nth-child(4),.offres td:nth-child(4){display:none}
}
