/* Rose&Oud — échantillons dans le panier (v1.0, 27/10/2026) */
.rou-echp { --rose: #b16972; --rose-fonce: #9c5d65; position: relative; margin: 14px 0 18px; padding: 16px 0 12px; text-align: left; line-height: 1.4; }
.rou-echp *, .rou-echp *::before, .rou-echp *::after { box-sizing: border-box; }
.rou-echp p, .rou-echp h3, .rou-echp ul { margin: 0; padding: 0; }
.rou-echp__head { padding: 0 2px; }
.rou-echp__kicker { display: inline-block; padding: 5px 10px; border-radius: 999px; background: #fbf3f4; color: var(--rose-fonce); font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.rou-echp__title { margin-top: 8px !important; font: 600 23px/1.1 "Cormorant Garamond", Georgia, serif; color: #141414; }
.rou-echp__title em { font-style: italic; color: var(--rose); }
.rou-echp__palier { margin-top: 4px !important; font-size: 13px; color: #666; }
.rou-echp__palier strong { color: #222; }
.rou-echp__palier.is-flash { animation: echp-flash .9s ease; }
.rou-echp__row { list-style: none; display: grid; grid-auto-flow: column; grid-auto-columns: 112px; gap: 10px; margin-top: 12px !important; padding: 6px 2px 10px !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; overscroll-behavior-x: contain; }
.rou-echp__card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 8px 10px; border: 1px solid #ecdfe0; border-radius: 14px; background: #fff; scroll-snap-align: start; text-align: center;
  opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .45s cubic-bezier(.22,.61,.36,1), border-color .25s, box-shadow .25s; transition-delay: calc(var(--i, 0) * 70ms); }
.rou-echp.is-in .rou-echp__card { opacity: 1; transform: none; }
.rou-echp__card:hover { border-color: var(--rose); box-shadow: 0 10px 22px -14px rgba(156, 93, 101, .55); }
.rou-echp__img { display: block; width: 100%; aspect-ratio: 1; border-radius: 10px; background: #faf5f5; overflow: hidden; }
.rou-echp__img img { width: 100% !important; height: 100% !important; object-fit: contain !important; border-radius: 0 !important; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.rou-echp__card:hover .rou-echp__img img { transform: scale(1.06) rotate(-3deg); }
.rou-echp__card.is-hint .rou-echp__img img { animation: echp-hint 1.1s ease; }
.rou-echp__name { min-height: 2.5em; display: flex; align-items: center; font-size: 12.5px; font-weight: 600; line-height: 1.25; color: #222; }
.rou-echp__add { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 4px; width: 100%; min-height: 32px; padding: 0 8px; border: 1.5px solid var(--rose); border-radius: 999px; background: #fff; color: var(--rose); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; transition: background .2s, color .2s, transform .15s; }
.rou-echp__add:hover { background: var(--rose); color: #fff; }
.rou-echp__add:active { transform: scale(.95); }
.rou-echp__add[aria-busy="true"] { opacity: .6; }
.rou-echp__plus { font-size: 15px; line-height: 1; }
.rou-echp__ok { display: none; }
.rou-echp__card.is-added { border-color: var(--rose); background: #fbf3f4; }
.rou-echp__card.is-added .rou-echp__add { background: var(--rose); color: #fff; cursor: default; animation: echp-pop .45s cubic-bezier(.2,.9,.3,1.3); }
.rou-echp__card.is-added .rou-echp__plus, .rou-echp__card.is-added .rou-echp__price { display: none; }
.rou-echp__card.is-added .rou-echp__ok { display: inline; }
.rou-echp__status { margin-top: 4px !important; font-size: 12.5px; color: var(--rose-fonce); }
.rou-echp__status:empty { display: none; }
.rou-echp__ghost { position: fixed; z-index: 100000; pointer-events: none; object-fit: contain; border-radius: 10px; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .25)); }
.rou-echp-bump { animation: echp-bump .5s cubic-bezier(.2,.9,.3,1.4); }
/* Pages panier et paiement : même largeur que la lettre */
.rou-echp--page { max-width: 1080px; margin: 0 auto 28px; padding: 18px clamp(16px, 2.4vw, 30px) 12px; border: 1px solid #ecdfe0; border-radius: 18px; background: linear-gradient(165deg, #fbf3f4 0%, #fff 60%); }
.rou-echp--page .rou-echp__row { grid-auto-columns: 128px; }
/* Panier latéral (Kadence) */
.rou-echp--drawer { border-top: 1px solid #ecdfe0; }
@keyframes echp-hint { 0%, 100% { transform: none; } 30% { transform: translateY(-6px) rotate(-6deg) scale(1.05); } 60% { transform: translateY(0) rotate(4deg); } }
@keyframes echp-pop { 0% { transform: scale(.85); } 100% { transform: scale(1); } }
@keyframes echp-bump { 0% { transform: scale(1); } 40% { transform: scale(1.18); } 100% { transform: scale(1); } }
@keyframes echp-flash { 0% { color: #666; } 30% { color: var(--rose); } 100% { color: #666; } }
@media (prefers-reduced-motion: reduce) { .rou-echp__card { opacity: 1; transform: none; transition: none; } .rou-echp__card.is-hint .rou-echp__img img { animation: none; } }
