:root{
  --lap-rev-star:#FBBC04; --lap-rev-navy:#0B3254; --lap-rev-bg:#F4F6FB;
  --lap-rev-card-bg:#FFFFFF; --lap-rev-card-border:rgba(0,0,0,.08);
}
/* ===== Badge hero ===== */
.lap-rev-badge{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;
  background:rgba(255,255,255,.92);border:1px solid var(--lap-rev-card-border);border-radius:999px;
  padding:.4rem .8rem;font-size:.9rem;color:var(--lap-rev-navy);box-shadow:0 2px 8px rgba(0,0,0,.08);
  transition:transform .15s ease,box-shadow .15s ease}
.lap-rev-badge:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.14)}
.lap-rev-badge:focus-visible{outline:2px solid var(--lap-rev-navy);outline-offset:2px}
.lap-rev-badge__note{font-weight:800}
.lap-rev-badge__star{color:var(--lap-rev-star);margin-left:.1rem}
.lap-rev-badge__count{font-size:.78rem;color:#5b6b80;font-weight:600;white-space:nowrap}
.lap-rev-badge__logo{height:16px;width:auto;flex:0 0 auto}
.lap-rev-badge__stars,.lap-rev__stars{color:var(--lap-rev-star);letter-spacing:1px;white-space:nowrap}
.lap-rev__logo{height:20px;width:auto;flex:0 0 auto}
.lap-rev__pwd-logo{height:14px;width:auto;display:inline-block;vertical-align:-2px}
.lap-rev-badge-zone{display:flex;justify-content:center;margin:1.5rem auto .5rem;padding:0 1rem}
.lap-rev-badge-zone .lap-rev-badge{position:static}
@media(max-width:767.98px){ .lap-rev-badge-zone{margin-top:1rem} }
/* ===== Bloc ===== */
.lap-rev{background:var(--lap-rev-bg);padding:2.5rem 0}
.lap-rev__head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.lap-rev__title{font-weight:800;color:var(--lap-rev-navy)}
.lap-rev__note{color:var(--lap-rev-star);font-weight:800}
.lap-rev__count{color:#5b6b80}
.lap-rev__seeall{margin-left:auto;color:#1558b0;font-weight:600;text-decoration:none}
.lap-rev__seeall:hover{text-decoration:underline}
.lap-rev-carousel{position:relative}
.lap-rev-track{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;min-height:300px}
.lap-rev-card{background:var(--lap-rev-card-bg);border:1px solid var(--lap-rev-card-border);
  border-radius:12px;padding:1.25rem;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.lap-rev-card__top{display:flex;align-items:center;gap:.75rem;margin-bottom:.4rem}
.lap-rev-ini{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:.95rem;flex:0 0 auto}
.lap-rev-card__id{display:flex;flex-direction:column;line-height:1.2}
.lap-rev-card__name{font-weight:700;color:var(--lap-rev-navy)}
.lap-rev-card__date{font-size:.85rem;color:#5b6b80}
.lap-rev-card__stars{color:var(--lap-rev-star);letter-spacing:2px;margin:.5rem 0}
.lap-rev-card__text{line-height:1.5;color:#444;margin:0}
.lap-rev__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;font-size:.8rem;color:#5b6b80}
.lap-rev-arrow{display:none}
.lap-rev-dots{display:none}
/* ===== Mobile : carrousel scroll-snap ===== */
@media(max-width:767.98px){
  .lap-rev-track{display:flex;grid-template-columns:none;overflow-x:auto;gap:1rem;min-height:260px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem}
  .lap-rev-track::-webkit-scrollbar{display:none}
  .lap-rev-card{flex:0 0 85%;scroll-snap-align:center}
  .lap-rev-dots{display:flex;gap:.45rem;justify-content:center;margin-top:.75rem}
  .lap-rev-dot{width:24px;height:24px;border:0;background:transparent;padding:0;cursor:pointer;position:relative}
  .lap-rev-dot::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#cfd6e0;transition:width .2s}
  .lap-rev-dot.on::before{background:var(--lap-rev-navy);width:20px;border-radius:4px}
  .lap-rev-arrow{display:flex;align-items:center;justify-content:center;position:absolute;top:42%;
    width:32px;height:32px;border-radius:50%;border:0;background:#fff;color:var(--lap-rev-navy);
    box-shadow:0 1px 6px rgba(0,0,0,.2);cursor:pointer;z-index:2;font-size:1.1rem;line-height:1}
  .lap-rev-arrow[data-rev-prev]{left:.15rem}
  .lap-rev-arrow[data-rev-next]{right:.15rem}
}
@media(prefers-reduced-motion:reduce){
  .lap-rev-track{scroll-behavior:auto}
  .lap-rev-badge{transition:none}
  .lap-rev-badge:hover{transform:none}
}
@media(max-width:480px){.lap-rev-badge__logo{height:14px}.lap-rev-badge{gap:.3rem}}
