.cuillere{--c-radius:14px;--c-ink:#1c1a17;--c-soft:rgba(28,26,23,.6);--c-card:#fff;--c-line:rgba(28,26,23,.1);--c-lines:6;position:relative;font-size:15px;line-height:1.5}
.cuillere *{box-sizing:border-box}
.cuillere__items{display:grid;grid-template-columns:repeat(var(--c-cols),minmax(0,1fr));gap:var(--c-gap)}
@media (max-width:1024px){.cuillere__items{grid-template-columns:repeat(var(--c-cols-t),minmax(0,1fr))}}
@media (max-width:600px){.cuillere__items{grid-template-columns:repeat(var(--c-cols-m),minmax(0,1fr))}}

/* En-tête */
.cuillere__header{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.cuillere__header div{display:flex;flex-direction:column}
.cuillere__header a{color:var(--c-soft);text-decoration:none;font-size:14px}
.cuillere__avatar{border-radius:50%;object-fit:cover;flex:0 0 auto}
.cuillere .cuillere__more{display:flex!important;justify-content:center;text-align:center!important;margin:32px 0 0!important;padding:0}
.cuillere .cuillere__follow{display:inline-block;padding:11px 20px!important;border-radius:999px;background:var(--c-ink);color:#fff!important;text-decoration:none!important;font-size:14px!important;line-height:1.2!important;font-weight:600;letter-spacing:0!important;transition:transform .2s}
.cuillere__follow:hover{transform:translateY(-2px)}

/* Instagram */
.cuillere__tile{position:relative;display:block;overflow:hidden;border-radius:var(--c-radius);aspect-ratio:var(--c-ratio);background:rgba(0,0,0,.06);isolation:isolate}
.cuillere__tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cuillere__tile:hover img,.cuillere__tile:focus-visible img{transform:scale(1.08)}
.cuillere__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;color:#fff;font-weight:700;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.55));opacity:0;transition:opacity .3s}
.cuillere__overlay span{display:inline-flex;align-items:center;gap:6px;transform:translateY(10px);transition:transform .35s}
.cuillere__tile:hover .cuillere__overlay,.cuillere__tile:focus-visible .cuillere__overlay{opacity:1}
.cuillere__tile:hover .cuillere__overlay span{transform:none}
.cuillere__badge{position:absolute;top:10px;right:10px;width:22px;height:22px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));z-index:2}
.cuillere__badge svg,.cuillere__icon{width:100%;height:100%;fill:currentColor}
.cuillere__icon{width:18px;height:18px;flex:0 0 auto}

/* Apparition au défilement */
.cuillere.is-ready .cuillere__tile,.cuillere.is-ready .cuillere__card{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.cuillere.is-ready .cuillere__tile.is-in,.cuillere.is-ready .cuillere__card.is-in{opacity:1;transform:none}

/* Carrousel */
.cuillere--carrousel .cuillere__viewport{overflow:hidden}
.cuillere--carrousel .cuillere__track{display:flex;gap:var(--c-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.cuillere--carrousel .cuillere__track::-webkit-scrollbar{display:none}
.cuillere--carrousel .cuillere__track>*{flex:0 0 calc((100% - (var(--c-cols) - 1) * var(--c-gap)) / var(--c-cols));scroll-snap-align:start}
@media (max-width:1024px){.cuillere--carrousel .cuillere__track>*{flex-basis:calc((100% - (var(--c-cols-t) - 1) * var(--c-gap)) / var(--c-cols-t))}}
@media (max-width:600px){.cuillere--carrousel .cuillere__track>*{flex-basis:calc((100% - (var(--c-cols-m) - 1) * var(--c-gap)) / var(--c-cols-m) - 24px)}}
.cuillere__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--c-ink);font-size:26px;line-height:1;box-shadow:0 6px 20px rgba(0,0,0,.18);cursor:pointer;z-index:3;transition:transform .2s,opacity .2s}
.cuillere__nav:hover{transform:translateY(-50%) scale(1.08)}
.cuillere__nav--prev{left:-14px}.cuillere__nav--next{right:-14px}
.cuillere__nav[disabled]{opacity:0;pointer-events:none}

/* Facebook */
.cuillere--mosaique .cuillere__items{display:block;columns:var(--c-cols);column-gap:var(--c-gap)}
@media (max-width:1024px){.cuillere--mosaique .cuillere__items{columns:var(--c-cols-t)}}
@media (max-width:600px){.cuillere--mosaique .cuillere__items{columns:var(--c-cols-m)}}
.cuillere--mosaique .cuillere__card{break-inside:avoid;margin-bottom:var(--c-gap)}
.cuillere--liste .cuillere__items{grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto}
.cuillere__card{position:relative;background:var(--c-card);color:var(--c-ink);border:1px solid var(--c-line);border-radius:var(--c-radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.cuillere__card:hover{box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.cuillere__card-head{display:flex;align-items:center;gap:10px;padding:16px 18px 10px}
.cuillere__card-head div{display:flex;flex-direction:column;line-height:1.25}
.cuillere__card-head time{font-size:13px;color:var(--c-soft)}
.cuillere__text{padding:0 18px 14px}
.cuillere__text-in{display:-webkit-box;-webkit-line-clamp:var(--c-lines);-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.cuillere__text.is-open .cuillere__text-in{display:block}
.cuillere__text a{color:inherit;text-decoration:underline}
.cuillere__tag{font-weight:600}
.cuillere__toggle{margin-top:4px;padding:0;border:0;background:none;color:var(--c-soft);font-weight:600;cursor:pointer;font-size:14px}
.cuillere__toggle:hover{color:var(--c-ink)}
.cuillere__media{display:grid;gap:2px;position:relative}
.cuillere__media--2{grid-template-columns:1fr 1fr}
.cuillere__media--3{grid-template-columns:1fr 1fr}.cuillere__media--3 .cuillere__media-cell:first-child{grid-column:1/-1}
.cuillere__media--4{grid-template-columns:1fr 1fr}
.cuillere__media-cell{position:relative;overflow:hidden;display:block;background:rgba(0,0,0,.05)}
.cuillere__media--1 img{width:100%;height:auto;display:block}
.cuillere__media--2 img,.cuillere__media--3 img,.cuillere__media--4 img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.cuillere__media--3 .cuillere__media-cell:first-child img{aspect-ratio:16/9}
.cuillere__media img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cuillere__media:hover img{transform:scale(1.04)}
.cuillere__play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;padding:14px;backdrop-filter:blur(4px);transition:transform .3s}
.cuillere__play svg{width:100%;height:100%;fill:currentColor}
.cuillere__media:hover .cuillere__play{transform:scale(1.1)}
.cuillere__plus{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.5);color:#fff;font-size:28px;font-weight:700}
.cuillere__link{display:block;margin:0 18px 14px;padding:10px 14px;border-radius:10px;background:rgba(0,0,0,.04);color:var(--c-ink);text-decoration:none;font-weight:600}
.cuillere__link small{display:block;font-weight:400;color:var(--c-soft);text-transform:uppercase;font-size:11px;letter-spacing:.06em}
.cuillere__card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--c-line);font-size:13px;color:var(--c-soft)}
.cuillere__stats{display:flex;gap:12px}
.cuillere__stats span{display:inline-flex;align-items:center;gap:4px}
.cuillere__stats .cuillere__icon{width:15px;height:15px}
.cuillere__actions{display:flex;gap:14px;align-items:center}
.cuillere__actions a,.cuillere__share-btn{color:var(--c-ink);font-weight:600;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-size:13px}
.cuillere__actions a:hover,.cuillere__share-btn:hover{text-decoration:underline}
.cuillere__share{position:relative}
.cuillere__share-menu{position:absolute;bottom:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column;min-width:130px;z-index:5}
.cuillere__share-menu[hidden]{display:none}
.cuillere__share-menu a{padding:8px 10px;border-radius:8px}
.cuillere__share-menu a:hover{background:rgba(0,0,0,.05);text-decoration:none}

/* Popup */
.cuillere-lb{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);width:100%;max-height:92vh;overflow:visible}
.cuillere-lb::backdrop{background:rgba(12,11,10,.82);backdrop-filter:blur(6px)}
.cuillere-lb[open]{animation:cuillere-pop .35s cubic-bezier(.2,.8,.2,1)}
@keyframes cuillere-pop{from{opacity:0;transform:scale(.94) translateY(12px)}}
.cuillere-lb__box{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);background:#fff;border-radius:18px;overflow:hidden;max-height:92vh}
.cuillere-lb__media{position:relative;background:#000;display:flex;align-items:center;justify-content:center;min-height:320px}
.cuillere-lb__media img,.cuillere-lb__media video{max-width:100%;max-height:92vh;display:block;object-fit:contain}
.cuillere-lb__side{padding:26px;overflow:auto;max-height:92vh;color:#1c1a17;font-size:15px;line-height:1.55}
.cuillere-lb__side time{display:block;color:rgba(28,26,23,.55);font-size:13px;margin-bottom:10px}
.cuillere-lb__side a:not(.cuillere-lb__cta){color:inherit;text-decoration:underline}
.cuillere-lb__side .cuillere__tag{font-weight:600}
.cuillere-lb__cta{display:inline-block;margin-top:16px;padding:10px 18px;border-radius:999px;background:#1c1a17;color:#fff!important;text-decoration:none;font-weight:600}
.cuillere-lb__close{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;font-size:22px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.3);z-index:3}
.cuillere-lb__arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:22px;cursor:pointer}
.cuillere-lb__arrow--prev{left:12px}.cuillere-lb__arrow--next{right:12px}
.cuillere-lb__dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.cuillere-lb__dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45)}
.cuillere-lb__dots span.is-on{background:#fff}
@media (max-width:760px){.cuillere-lb__box{grid-template-columns:1fr;max-height:none}.cuillere-lb{max-height:none;overflow:auto}.cuillere-lb__close{top:8px;right:8px}.cuillere__nav{display:none}}
@media (prefers-reduced-motion:reduce){.cuillere *{transition:none!important;animation:none!important}.cuillere.is-ready .cuillere__tile,.cuillere.is-ready .cuillere__card{opacity:1;transform:none}}

.cuillere--no-hover .cuillere__overlay{display:none}
@media (max-width:600px){.cuillere .cuillere__hide-m{display:none!important}}

/* Effet carte 3D */
.cuillere--tilt .cuillere__items,.cuillere--tilt .cuillere__track{perspective:900px}
.cuillere--tilt .cuillere__tile,.cuillere--tilt .cuillere__card{transform-style:preserve-3d;will-change:transform;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,opacity .6s ease}
.cuillere--tilt .cuillere__tile.is-tilting,.cuillere--tilt .cuillere__card.is-tilting{transition:transform .12s linear,box-shadow .3s;box-shadow:0 18px 34px -22px rgba(0,0,0,.35);z-index:2}
.cuillere--tilt .cuillere__tile:hover img{transform:scale(1.02)}
.cuillere__glare{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.18),rgba(255,255,255,0) 55%);opacity:0;transition:opacity .3s;z-index:3;mix-blend-mode:soft-light}
.is-tilting .cuillere__glare{opacity:1}
