/* Section « Fruits & légumes de saison » — charte m2tasante (premium wellness, angles droits). */
.m2ts-saison{
  --m2-teal:var(--wp--preset--color--accent-1,#0e8c7f);
  --m2-teal-d:var(--wp--preset--color--accent-2,#0a6a60);
  --m2-mint:var(--wp--preset--color--accent-3,#e7f4f1);
  --m2-muted:var(--wp--preset--color--accent-4,#5b6b66);
  --m2-line:var(--wp--preset--color--accent-5,#e7efea);
  --m2-ink:var(--wp--preset--color--contrast,#0f2e28);
  --m2-amber:var(--wp--preset--color--accent-6,#e0a33e);
  max-width:1180px;margin-inline:auto;
}
.m2ts-saison *{box-sizing:border-box;border-radius:0 !important;}
.m2ts-saison__head{text-align:center;margin-bottom:1.4rem;}
.m2ts-saison__kicker{color:var(--m2-teal);text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:.8rem;margin:0 0 .3rem;}
.m2ts-saison__title{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-.01em;margin:.1rem 0 .4rem;font-size:clamp(1.6rem,3.4vw,2.2rem);color:var(--m2-ink);}
.m2ts-saison__sub{color:var(--m2-muted);font-size:.95rem;margin:0;}
.m2ts-saison__intro{max-width:780px;margin:0 auto 1.1rem;text-align:center;color:var(--m2-muted);font-size:1rem;line-height:1.7;}
.m2ts-saison__intro strong{color:var(--m2-ink);font-weight:600;}
.m2ts-saison__banner{display:flex;justify-content:center;margin:0 0 1.4rem;}
.m2ts-saison__banner span{background:var(--m2-mint);color:var(--m2-teal-d);font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:.42rem .95rem;border:1px solid var(--m2-line);}
.m2ts-saison__filters{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin:1.1rem 0 1.7rem;}
.m2ts-saison__filters button{font-family:inherit;font-weight:600;font-size:.9rem;cursor:pointer;background:#fff;border:1.5px solid var(--m2-teal);color:var(--m2-teal);padding:.5rem .95rem;line-height:1;transition:background .15s,color .15s;}
.m2ts-saison__filters button em{font-style:normal;opacity:.6;margin-left:.3rem;}
.m2ts-saison__filters button:hover{background:var(--m2-mint);}
.m2ts-saison__filters button.is-active{background:var(--m2-teal);color:#fff;}
.m2ts-saison__filters button.is-active em{opacity:.85;}
.m2ts-saison__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem;}
.m2ts-saison__card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--m2-line);transition:transform .15s,box-shadow .15s;}
.m2ts-saison__card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(15,46,40,.10);}
.m2ts-saison__imgwrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--m2-mint);}
.m2ts-saison__img{width:100%;height:100%;object-fit:cover;display:block;}
.m2ts-saison__imgwrap--ph{display:flex;align-items:center;justify-content:center;}
.m2ts-saison__imgwrap--ph span{font-family:'Fraunces',serif;font-size:2.6rem;color:var(--m2-teal);opacity:.45;}
.m2ts-saison__credit{position:absolute;right:0;bottom:0;background:rgba(15,46,40,.62);color:#fff;font-size:.62rem;padding:.12rem .4rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.m2ts-saison__body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.55rem;flex:1;}
.m2ts-saison__tags{display:flex;gap:.35rem;flex-wrap:wrap;}
.m2ts-saison__badge{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--m2-teal);color:var(--m2-teal);background:#fff;padding:.16rem .42rem;line-height:1.1;}
.m2ts-saison__badge.is-origine{border-color:var(--m2-amber);color:#a9741f;}
.m2ts-saison__name{font-family:'Fraunces',serif;font-weight:500;font-size:1.18rem;margin:.1rem 0 0;color:var(--m2-ink);}
.m2ts-saison__claims{display:flex;flex-wrap:wrap;gap:.3rem;}
.m2ts-saison__claim{font-size:.72rem;font-weight:600;border:1.5px solid var(--m2-teal);color:var(--m2-teal-d);padding:.18rem .45rem;background:#fff;}
.m2ts-saison__claim.is-riche{background:var(--m2-mint);}
.m2ts-saison__facts{list-style:none;margin:.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .9rem;}
.m2ts-saison__facts li{display:flex;flex-direction:column;}
.m2ts-saison__facts span{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--m2-muted);}
.m2ts-saison__facts b{font-size:1rem;color:var(--m2-ink);}
.m2ts-saison__prix{display:flex;align-items:baseline;gap:.4rem;margin-top:.1rem;}
.m2ts-saison__prix span{font-weight:700;color:var(--m2-teal-d);}
.m2ts-saison__prix small{color:var(--m2-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;}
.m2ts-saison__details{margin-top:.3rem;border-top:1px solid var(--m2-line);padding-top:.4rem;}
.m2ts-saison__details summary{cursor:pointer;font-size:.78rem;font-weight:600;color:var(--m2-teal);}
.m2ts-saison__table{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.78rem;}
.m2ts-saison__table th{text-align:left;font-weight:500;color:var(--m2-ink);padding:.18rem 0;border-bottom:1px solid var(--m2-line);}
.m2ts-saison__table td{text-align:right;color:var(--m2-muted);padding:.18rem 0;border-bottom:1px solid var(--m2-line);white-space:nowrap;}
.m2ts-saison__table td.ar{width:70px;color:var(--m2-teal-d);}
.m2ts-saison__src{margin-top:1.4rem;font-size:.76rem;color:var(--m2-muted);text-align:center;line-height:1.6;}
.m2ts-saison__loading,.m2ts-saison__err{text-align:center;color:var(--m2-muted);padding:2rem 0;}
@media(max-width:600px){.m2ts-saison__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;}.m2ts-saison__name{font-size:1.05rem;}}
