/** Shopify CDN: Minification failed

Line 454:0 Expected percentage but found "."
Line 455:0 Expected "}" to go with "{"

**/
/* ============================================================
   LENIDESIGN — COMPOSANTS PARTAGÉS (refonte v2)
   Réassurance · Card produit · Étoiles · Fil d'Ariane · Barre sticky
   Chargé après lenidesign-global.css
   ============================================================ */

/* ── RÉASSURANCE ─────────────────────────────────────────── */

.leni-reassurance {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--leni-space-md);
}

.leni-reassurance--bar {
  grid-template-columns: repeat(4, 1fr);
  padding: var(--leni-space-md) 0;
}

.leni-reassurance--grid {
  grid-template-columns: repeat(4, 1fr);
}

.leni-reassurance--inline {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--leni-space-xs) var(--leni-space-md);
}

.leni-reassurance__item {
  display: flex;
  align-items: center;
  gap: var(--leni-space-sm);
  min-width: 0;
}

.leni-reassurance--bar .leni-reassurance__item {
  flex-direction: column;
  text-align: center;
  gap: var(--leni-space-xs);
  padding: 0 var(--leni-space-sm);
  border-right: 1px solid var(--leni-border);
}

.leni-reassurance--bar .leni-reassurance__item:last-child { border-right: 0; }

.leni-reassurance__icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--leni-surface);
  border: 1px solid var(--leni-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--leni-fg);
  flex-shrink: 0;
}

.leni-reassurance--inline .leni-reassurance__icon {
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  color: var(--leni-fg-muted);
}

.leni-reassurance--inline .leni-reassurance__icon svg { width: 16px; height: 16px; }

.leni-reassurance__text {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.leni-reassurance__text strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--leni-fg);
}

.leni-reassurance__text small {
  font-size: 12px;
  color: var(--leni-fg-muted);
  margin-top: 2px;
}

.leni-reassurance--inline .leni-reassurance__text strong {
  font-size: 12px;
  font-weight: 500;
  color: var(--leni-fg-muted);
}

.leni-reassurance--pro .leni-reassurance__icon { color: var(--leni-pro); }

@media (max-width: 749px) {
  .leni-reassurance--bar,
  .leni-reassurance--grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--leni-space-sm);
  }

  .leni-reassurance--bar .leni-reassurance__item {
    border-right: 0;
    padding: var(--leni-space-xs) 0;
  }

  .leni-reassurance--bar .leni-reassurance__icon { width: 40px; height: 40px; }
  .leni-reassurance__text strong { font-size: 13px; }
  .leni-reassurance__text small { display: none; }
}

/* Variante 4 colonnes forcées sur mobile (sous le hero) */
@media (max-width: 749px) {
  .leni-reassurance--bar.leni-reassurance--compact {
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
  }
  .leni-reassurance--bar.leni-reassurance--compact .leni-reassurance__text strong {
    font-size: 11px;
    line-height: 1.2;
  }
}

/* ── ÉTOILES ─────────────────────────────────────────────── */

.leni-stars {
  --leni-stars-pct: 100%;
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 1px;
  position: relative;
  color: rgba(var(--leni-rgb-fg), 0.18);
}

.leni-stars::before {
  content: "★★★★★";
}

.leni-stars::after {
  content: "★★★★★";
  position: absolute;
  left: 0;
  top: 0;
  width: var(--leni-stars-pct);
  overflow: hidden;
  white-space: nowrap;
  color: var(--leni-accent);
}

/* ── CARD PRODUIT v2 ─────────────────────────────────────── */

.leni-card {
  display: flex;
  flex-direction: column;
  background: var(--leni-surface);
  border: 1px solid var(--leni-border);
  border-radius: var(--leni-radius-md);
  box-shadow: var(--leni-shadow-card);
  overflow: hidden;
  height: 100%;
  transition:
    transform var(--leni-duration-fast) var(--leni-ease-out),
    box-shadow var(--leni-duration-fast) var(--leni-ease-out),
    border-color var(--leni-duration-fast) var(--leni-ease-out);
}

.leni-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--leni-shadow-card-hover);
  border-color: rgba(var(--leni-rgb-accent), 0.45);
}

.leni-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  background: var(--leni-bg-soft);
  overflow: hidden;
}

.leni-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--leni-duration-slow) var(--leni-ease-out);
}

.leni-card:hover .leni-card__media img { transform: scale(1.03); }

.leni-card__media-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--leni-bg-soft);
}

.leni-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--leni-surface);
}

.leni-card__badge.leni-badge--pro { background: var(--leni-pro); }

.leni-card__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: var(--leni-space-md);
  flex: 1;
}

.leni-card__title {
  font-family: var(--leni-font-body) !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--leni-fg);
  letter-spacing: 0;
  margin: 0;
}

.leni-card__title a { color: inherit; }
.leni-card__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.leni-card__pill {
  align-self: flex-start;
  display: inline-block;
  padding: 3px 9px;
  border-radius: var(--leni-radius-pill);
  background: var(--leni-bg-soft);
  border: 1px solid var(--leni-border);
  font-size: 11px;
  font-weight: 600;
  color: var(--leni-fg-muted);
}
.leni-card__pill--pro { color: var(--leni-pro); border-color: rgba(var(--leni-rgb-pro), 0.35); }

.leni-card__rating {
  display: flex;
  align-items: center;
  gap: 6px;
}

.leni-card__rating-text {
  font-size: 12px;
  color: var(--leni-fg-muted);
}

.leni-card__price {
  margin: 2px 0 0;
  font-size: 16px;
}

.leni-card__label {
  margin: 0;
  font-size: 12px;
  color: var(--leni-fg-muted);
}

.leni-card__cta {
  margin-top: auto;
  padding-top: var(--leni-space-xs);
}

.leni-card__cta.leni-btn {
  height: 44px;
  font-size: 14px;
  margin-top: var(--leni-space-sm);
}

@media (max-width: 749px) {
  .leni-card__body { padding: var(--leni-space-sm); }
  .leni-card__title { font-size: 14px; }
  .leni-card__cta.leni-btn { height: 42px; font-size: 13px; padding: 0 12px; }
}

/* Grilles de cards */
.leni-card-grid {
  display: grid;
  gap: var(--leni-space-md);
  grid-template-columns: repeat(4, 1fr);
}

.leni-card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.leni-card-grid--5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 989px) {
  .leni-card-grid,
  .leni-card-grid--3,
  .leni-card-grid--5 { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 749px) {
  .leni-card-grid,
  .leni-card-grid--3,
  .leni-card-grid--5 {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--leni-space-sm);
  }
}

/* ── FIL D'ARIANE ────────────────────────────────────────── */

.leni-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--leni-fg-muted);
  padding: var(--leni-space-sm) 0;
}

.leni-breadcrumb a { color: var(--leni-fg-muted); }
.leni-breadcrumb a:hover { color: var(--leni-fg); }
.leni-breadcrumb__sep { color: var(--leni-fg-soft); }
.leni-breadcrumb [aria-current="page"] { color: var(--leni-fg); }

/* ── BARRE STICKY MOBILE (prix + CTA) ────────────────────── */

.leni-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--leni-z-sticky);
  display: none;
  align-items: center;
  gap: var(--leni-space-sm);
  height: 64px;
  padding: 0 var(--leni-space-md);
  padding-bottom: env(safe-area-inset-bottom);
  background: var(--leni-bg);
  box-shadow: var(--leni-shadow-sticky);
  transform: translateY(110%);
  transition: transform var(--leni-duration-base) var(--leni-ease-out);
}

.leni-sticky-bar--visible { transform: translateY(0); }

.leni-sticky-bar__price {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  min-width: 0;
}

.leni-sticky-bar__price strong { font-size: 18px; font-weight: 700; }
.leni-sticky-bar__price small { font-size: 12px; color: var(--leni-fg-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.leni-sticky-bar .leni-btn {
  margin-left: auto;
  height: 44px;
  width: 60%;
  font-size: 15px;
}

@media (max-width: 989px) {
  .leni-sticky-bar { display: flex; }
  body.leni-drawer-open .leni-sticky-bar { transform: translateY(110%); }
}

/* ── BLOC PRO (fond bleu ardoise) ────────────────────────── */

.leni-pro-block {
  background: var(--leni-pro);
  color: #FFFFFF;
  border-radius: var(--leni-radius-lg);
  padding: clamp(24px, 4vw, 40px);
}

.leni-pro-block h2,
.leni-pro-block h3 { color: #FFFFFF !important; }

.leni-pro-block p { color: rgba(255, 255, 255, 0.82); }

/* ── SIGNATURE MANUSCRITE ────────────────────────────────── */

.leni-signature {
  font-family: var(--leni-font-script);
  font-size: 22px;
  color: var(--leni-accent-dark);
  line-height: 1.2;
  transform: rotate(-3deg);
  display: inline-block;
}

/* ── ACCORDÉON (partagé : FAQ home, PDP) ─────────────────── */

.leni-acc { border-top: 1px solid var(--leni-border); }

.leni-acc__item { border-bottom: 1px solid var(--leni-border); }

.leni-acc__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 12px 2px;
  background: none;
  border: 0;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: var(--leni-fg);
  text-align: left;
  cursor: pointer;
}

.leni-acc__btn::after {
  content: '+';
  font-size: 20px;
  font-weight: 400;
  color: var(--leni-fg-muted);
  transition: transform var(--leni-duration-fast);
}

.leni-acc__item.is-open .leni-acc__btn::after { transform: rotate(45deg); }

.leni-acc__panel {
  display: none;
  padding: 0 2px 16px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--leni-fg-muted);
}

.leni-acc__panel p { margin: 0 0 8px; }
.leni-acc__panel ul, .leni-acc__panel ol { margin: 0 0 8px 18px; padding: 0; }
.leni-acc__item.is-open .leni-acc__panel { display: block; }
.leni-acc__item.is-flash { animation: leniAccFlash 1.2s ease-out; }

@keyframes leniAccFlash {
  0% { background: rgba(var(--leni-rgb-accent), 0.18); }
  100% { background: transparent; }

/* ── Aperçu animé sur les cartes produit (canvas leni-live-preview.js) ── */
/* z-index 3 : au-dessus de l'image principale (1) et de l'image de survol (2) de la grille de collection */
.leni-card__media .leni-live, .leni-coll__card-img .leni-live { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; display: block; }
