/* monchanvre — Boutique : listing, filtres, fiche produit, comparateur, scoring */

/* — Listing : grille + filtres — */
.shop{display:grid;grid-template-columns:248px 1fr;gap:36px;align-items:start}
.shop-main{min-width:0}
.filters{border:var(--border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm);background:#fff;position:sticky;top:90px}
.filters h3{font-family:var(--font-display);font-size:18px;margin-bottom:6px}
.fgroup{padding:18px 0;border-bottom:2px solid var(--line)}
.fgroup:last-child{border-bottom:none;padding-bottom:0}
.fgroup h4{font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}
.check{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;color:var(--ink)}
.check:hover{color:var(--green)}
.check input{width:18px;height:18px;accent-color:var(--green)}
.check .count{margin-left:auto;color:var(--faint);font-size:var(--fs-xs)}
.chiprow{display:flex;flex-wrap:wrap;gap:8px}

.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}
.toolbar .count{font-size:var(--fs-sm);color:var(--muted);font-weight:var(--fw-semibold)}
.select,.toolbar select,.woocommerce-ordering select{padding:11px 16px;border-radius:var(--r-pill);border:2px solid var(--line);font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-sm);background:#fff;cursor:pointer}

/* — Fiche produit (PDP) — */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding-top:8px}
.gallery .main{aspect-ratio:1/1;border-radius:var(--r-lg);border:var(--border);box-shadow:var(--shadow-md);object-fit:cover;width:100%}
.thumbs{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.thumbs .ph,.thumbs .thumb{width:74px;height:74px;border-radius:var(--r-md);border:2px solid var(--line);cursor:pointer;flex:none;object-fit:cover}
.thumbs .ph[aria-current],.thumbs .thumb[aria-current]{border-color:var(--ink)}

.buybox .brand{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--green);text-transform:uppercase;letter-spacing:.06em}
.buybox h1{font-size:var(--fs-2xl);margin:6px 0 12px}
.buybox .raterow{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted);flex-wrap:wrap}
.buybox .desc{font-size:var(--fs-base);color:var(--muted);font-weight:var(--fw-medium);margin-bottom:22px}
.buybox .desc p{margin:0 0 .6em}

.specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.spec{border:2px solid var(--line);border-radius:var(--r-md);padding:12px 14px}
.spec .k{font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em}
.spec .v{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:18px}

.offerbox{border:var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-md);background:var(--green-soft)}
.offerbox .pricerow{display:flex;align-items:baseline;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.offerbox .price,.offerbox .price .woocommerce-Price-amount{font-family:var(--font-display);font-weight:var(--fw-black);font-size:38px}
.offerbox .old,.offerbox .old .woocommerce-Price-amount{font-size:var(--fs-md);color:var(--muted);text-decoration:line-through;font-family:var(--font-body);font-weight:var(--fw-semibold)}
.offerbox .merchant{font-size:var(--fs-sm);color:var(--muted);font-weight:var(--fw-semibold);margin:8px 0 16px}
.offerbox .aff-note{font-size:var(--fs-xs);color:var(--muted);margin-top:12px;text-align:center}

.trustline{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}
.trustline span{display:inline-flex;align-items:center;gap:7px}

/* — Comparateur des offres (affiliation) — */
.offers{border:var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff}
.offers .row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:16px;align-items:center;padding:16px 20px;border-bottom:2px solid var(--line)}
.offers .row:last-child{border-bottom:none}
.offers .row.head{background:var(--sun-soft);font-weight:var(--fw-bold);font-size:var(--fs-sm)}
.offers .merchant{font-weight:var(--fw-bold)}
.offers .p{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:18px}

/* — Scoring équipe — */
.scoreband{background:var(--green-soft);display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;box-shadow:var(--shadow-md)}
.score-global{text-align:center}
.score-num{font-family:var(--font-display);font-weight:800;font-size:64px;line-height:1;color:var(--green-d)}
.score-num span{font-size:24px;color:var(--muted)}
.score-label{font-weight:var(--fw-bold);margin-top:6px}
.score-bars{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px}
.score-bar-head{display:flex;justify-content:space-between;font-weight:var(--fw-semibold);font-size:var(--fs-sm);margin-bottom:5px}
.score-track{height:8px;background:#fff;border-radius:100px;overflow:hidden}
.score-fill{height:100%;background:var(--green)}
