/* ============== LOGOS BOUTIQUES ============== */
.store-logo {
  display: inline-block;
  height: 68px; /* ajuste si besoin */
  border-radius: 18px;
  /* Ombre noire, PAS de bordure */
  filter: drop-shadow(0 8px 22px rgba(0,0,0,.45));
  background: transparent;
  transition: transform .18s ease;
}
.store-logo:hover { transform: translateY(-1px) scale(1.02); }

/* Variante plus petite (widgets latéraux) */
.store-logo--sm { height: 36px; border-radius: 10px; filter: drop-shadow(0 4px 14px rgba(0,0,0,.35)); }

/* ============== CITATION AUTEUR (bloc “Mot de l’auteur”) ============== */
.quote-auteur {
  position: relative;
  background: rgba(38,38,38,.55);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 22px 22px 20px 22px;
}
.quote-auteur__inner { font-style: italic; line-height: 1.7; color: #e5e7eb; }
.quote-auteur__sign { font-style: normal; font-weight: 600; text-align: right; color: #f3f4f6; }

/* Grosse guillemet décorative */
.quote-auteur::before{
  content: "“";
  position: absolute;
  top: -14px; left: 16px;
  font-family: Georgia, "Playfair Display", serif;
  font-size: 84px; line-height: 1;
  color: rgba(255,255,255,.12);
  pointer-events: none;
}

/* ============== AVIS LECTEURS (cartes + étoiles) ============== */
.avis-grid { display: grid; gap: 1rem; }
@media (min-width: 768px){ .avis-grid { grid-template-columns: 1fr 1fr; } }

.avis-card{
  background: rgba(38,38,38,.55);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
}
.avis-stars{
  display:inline-flex; gap:.15rem; color: rgb(245,158,11); /* amber-400 */
}
.avis-star{ width: 1.15rem; height: 1.15rem; display: inline-block; }

/* Option si on utilise des <span> au lieu de SVG */
.avis-star--half{
  position: relative; overflow: hidden;
}
.avis-star--half::after{
  content: "";
  position:absolute; inset:0;
  background: currentColor;
  width: 50%;
}

/* ============== BLOC DELUXE (titre + liste indentée emoji) ============== */
.bloc-deluxe{
  background: transparent;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 18px 18px 6px 18px;
}
.bloc-deluxe__hero{
  font-weight: 700; font-size: 1.25rem; /* ~text-xl */
}
.bloc-deluxe__lead{ margin: .35rem 0 1rem; color: #e5e7eb; }
.deluxe-list{ display: grid; gap: .9rem; }

/* Item avec alinéa + emoji décalé avec le texte (emoji inclus dans l’indent) */
.deluxe-item{
  display: grid;
  grid-template-columns: 1.4rem 1fr; /* colonne emoji + texte */
  gap: .6rem;
  padding-left: 1rem; /* “deux carreaux” d’alinéa visuel */
}
.deluxe-item__emoji{ margin-top: .2rem; }
.deluxe-item__title{
  font-weight: 700; font-size: 1.125rem; /* ~text-lg */
}
.deluxe-item__text{ color: #d1d5db; }

/* ============== BOUTONS (si besoin hors Tailwind) ============== */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: .65rem 1rem; border-radius: 12px; font-weight: 600;
  text-decoration:none; transition: transform .15s ease, opacity .15s ease;
}
.btn:hover{ transform: translateY(-1px); opacity: .95; }
.btn-primary{ background:#4338ca; color:#fff; }       /* indigo-700 */
.btn-primary:hover{ background:#4f46e5; }             /* indigo-600 */

/* ============== IMAGES “FULL-WIDTH” RONDES ============== */
.img-rounded-xl{
  width:100%; height:auto; border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}

/* ============== BLOCS TEXTE LONG (justification douce) ============== */
.just{ text-align: justify; text-justify: inter-word; hyphens: auto; }

/* ============== MICRO-HELPERS ============== */
.mt-2px{ margin-top:2px; }