/* « Ils en parlent » (section « wall », loaded with it): cards of the customers' words, the form « Laisser un mot ».
   Sable's signature: the cards pile up slightly tilted and drop in one after the other (transform / opacity,
   .reveal of shop.js); at « Discrètes », reduced motion, data saver: tilted, in place, nothing moves. */
.wall__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;margin:0 0 16px;padding:0;list-style:none}
.wall__card{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:16px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.wall__photo{display:block;width:calc(100% + 32px);max-width:none;height:auto;aspect-ratio:4 / 3;margin:-16px -16px 4px;border-radius:var(--r-md) var(--r-md) 0 0;object-fit:cover;background:var(--line)}
.wall__stars{margin:0;color:var(--ink);font-size:var(--t-sm);letter-spacing:.12em}
.wall__off{opacity:.25}
.wall__text{margin:0;font-size:var(--t-md);line-height:1.4;overflow-wrap:anywhere}
.wall__who{margin:auto 0 0;font-weight:700;font-size:var(--t-sm)}
.wall__who span{font-weight:400;color:var(--muted)}
.wall__empty,.wall__note{margin:0 0 12px;color:var(--muted);font-size:var(--t-sm)}
.wall__thanks{display:flex;align-items:flex-start;gap:10px;max-width:640px;margin:0 0 16px;padding:12px 16px;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--soft-text);font-weight:650;line-height:1.4}
.wall__thanks::before{content:"✓";display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--soft-text);color:var(--brand-soft);font-size:13px;font-weight:800;line-height:1}
.wall__leave>summary{list-style:none;cursor:pointer;width:max-content;max-width:100%}
.wall__leave>summary::-webkit-details-marker{display:none}
.wall__leave[open]>summary{margin-bottom:12px}
.wall__form{max-width:560px}
.wall__form .field{margin-bottom:12px}
.wall__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 12px}
.wall__form input[type=file]{max-width:100%;font-size:var(--t-sm)}
.wall__honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wall__rate{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;margin:0 0 12px;padding:0;border:0}
.wall__rate legend{width:100%;margin-bottom:4px;font-weight:700;font-size:var(--t-sm)}
.wall__rate input{position:absolute;opacity:0;width:1px;height:1px}
.wall__rate label{display:grid;place-items:center;width:44px;height:44px;margin:0;font-size:1.6rem;color:var(--line);cursor:pointer}
.wall__rate input:checked~label,.wall__rate label:hover,.wall__rate label:hover~label{color:var(--ink)}
.wall__rate input:focus-visible+label{outline:2px solid var(--ink);outline-offset:2px;border-radius:8px}
/* Sable: a pile of tilted notes. */
.theme-sable .wall__grid{gap:18px 14px;padding:6px 4px 0}
.theme-sable .wall__card{background:var(--paper);box-shadow:0 1px 0 var(--line),0 14px 28px -18px rgb(0 0 0 / .35);rotate:var(--tilt,0deg)}
.theme-sable .wall__card:nth-child(3n+2){background:color-mix(in srgb,var(--brand-soft) 55%,var(--paper))}
html:not(.motion-low) .theme-sable .wall__card.reveal{transform:translateY(-34px) scale(1.04);transition:opacity 260ms var(--ease),transform 620ms var(--spring);transition-delay:calc(min(var(--k),5) * 70ms)}
html:not(.motion-low) .theme-sable .wall__card.reveal.is-in{transform:none}
.lite .theme-sable .wall__card.reveal{transition-delay:0ms}
@media (hover:hover) and (pointer:fine){html:not(.motion-low) .theme-sable .wall__card:hover{rotate:0deg;transition:rotate 240ms var(--ease)}}
/* The customer's agreement to publication (« consent », kept: SocialProof). */
.wall__consent{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:var(--t-sm);line-height:1.4}
.wall__consent input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--ink)}
