/* Copie légère de /assets/reviews.css (commentaires retirés) — tools/prod-css-purge.mjs — source-sha1:a08bb0871708bf8b25914cb7b2f377d0a603125a — ne pas éditer, relancer l'outil. */
.reviews-band{--rv-burgundy: var(--burgundy, #7B2D3B);
    --rv-charcoal: var(--charcoal, #2D3436);
    --rv-gray200: var(--gray-200, #E5E7EB);
    --rv-gray500: var(--gray-500, #6B7280);
    --rv-cream: var(--cream, #F7F4EF);
    background: var(--rv-cream);
    padding: clamp(40px, 6vw, 64px) 0;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    border-top: 1px solid var(--rv-gray200);
    
    content-visibility: auto;
    contain-intrinsic-size: auto 460px;}
.reviews-head{text-align: center; max-width: 720px; margin: 0 auto 30px; padding: 0 20px;}
.reviews-tag{display: inline-flex; align-items: center; gap: 7px;
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--rv-burgundy); background: var(--burgundy-pale, #F5EAEC);
    padding: 6px 14px; border-radius: 999px; margin-bottom: 14px;}
.reviews-title{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: clamp(1.4rem, 3.4vw, 2rem); font-weight: 600; color: var(--rv-charcoal);
    line-height: 1.2; margin: 0 0 10px;}
.reviews-sub{color: var(--rv-gray500); font-size: 0.98rem; line-height: 1.55; margin: 0;}
.reviews-viewport{position: relative;
    overflow: hidden;
    overflow: clip;}
.reviews-viewport::before,.reviews-viewport::after{content: ''; position: absolute; top: 0; bottom: 0; width: 90px; z-index: 2; pointer-events: none;}
.reviews-viewport::before{left: 0; background: linear-gradient(90deg, var(--rv-cream), transparent);}
.reviews-viewport::after{right: 0; background: linear-gradient(270deg, var(--rv-cream), transparent);}
.reviews-track{display: flex; gap: 20px; width: max-content;
    animation: rv-scroll 48s linear infinite;}
.reviews-viewport:hover .reviews-track{animation-play-state: paused;}
@keyframes rv-scroll{ from { transform: translateX(0); } to { transform: translateX(-50%); } }
.rev-avatar--ini{display: grid; place-content: center;
    color: #fff; font-weight: 500; font-size: 1.05rem; line-height: 1;}
.rev-card-top .rev-id{flex: 1; min-width: 0;}
.rev-g{width: 18px; height: 18px; flex-shrink: 0; align-self: flex-start;}
.reviews-lien{display: inline-flex; align-items: center; gap: 10px;
    padding: 11px 20px; border-radius: 999px;
    background: #fff; border: 1px solid var(--rv-gray200);
    font-size: 0.9rem; font-weight: 600; letter-spacing: -0.011em;
    color: var(--rv-charcoal); text-decoration: none;
    transition: border-color .18s var(--ease-out-soft, ease);}
.reviews-lien:hover{border-color: var(--rv-gray500);}
.reviews-lien .rev-g{width: 17px; height: 17px; align-self: center;}
.rev-fleche{width: 16px; height: 16px; flex-shrink: 0;}
.rev-card{width: 320px; flex: 0 0 320px; background: #fff;
    border: 1px solid var(--rv-gray200); border-radius: 16px; padding: 22px;
    box-shadow: 0 8px 26px rgba(45,52,54,0.05);
    position: relative; overflow: hidden;}
.rev-card-top{display: flex; align-items: center; gap: 12px; margin-bottom: 14px;}
.rev-avatar{width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;}
.rev-stars{letter-spacing: 2px; font-size: 0.95rem;}
.rev-name{font-weight: 600; color: var(--rv-charcoal); font-size: 0.95rem;}
.rev-meta{font-size: 0.8rem; color: var(--rv-gray500);}
.rev-text{color: #374151; font-size: 0.92rem; line-height: 1.5;}
.rev-source{margin-top: 14px; font-size: 0.76rem; color: var(--rv-gray500); display: flex; align-items: center; gap: 6px;}
.rev-card--skeleton .sk{background: #ECE7DF; border-radius: 6px;}
.rev-card--skeleton .rev-avatar{background: #E3DCD1;}
.rev-card--skeleton .sk-line{height: 11px; margin: 7px 0;}
.rev-card--skeleton .sk-line.w40{width: 40%;}
.rev-card--skeleton .sk-line.w60{width: 60%;}
.rev-card--skeleton .sk-line.w90{width: 90%;}
.rev-card--skeleton .sk-line.w75{width: 75%;}
.rev-card--skeleton .sk-stars{width: 96px; height: 14px; margin-bottom: 4px;}
.rev-card--skeleton::after{content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image:
        linear-gradient(rgba(123,45,59,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(123,45,59,0.05) 1px, transparent 1px);
    background-size: 16px 16px;}
.rev-card--skeleton::before{content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,0.55) 50%, transparent 70%);
    background-size: 220% 100%;
    animation: rv-shimmer 2.4s ease-in-out infinite;}
@keyframes rv-shimmer{ from { background-position: 140% 0; } to { background-position: -40% 0; } }
.reviews-foot{text-align: center; margin-top: 28px; padding: 0 20px;}
.reviews-badge{display: inline-flex; align-items: center; gap: 8px;
    font-size: 0.84rem; color: var(--rv-gray500);
    background: #fff; border: 1px solid var(--rv-gray200); border-radius: 999px; padding: 9px 18px;}
.reviews-badge strong{color: var(--rv-charcoal);}
@media (max-width: 600px){
.rev-card{width: 270px; flex-basis: 270px;}
}
@media (prefers-reduced-motion: reduce){
.reviews-track{animation-duration: 0s; animation: none;}
.rev-card--skeleton::before{animation: none;}
.reviews-viewport{overflow-x: auto;
        overflow-y: visible;
        overscroll-behavior-x: contain;}
}
.rev-stars{display: inline-flex; align-items: center; gap: 2px;}
.rev-stars svg{width: 1em; height: 1em;}
.rev-stars svg.vide{opacity: .28;}
.rev-coche,.rev-tag-ico{width: 1em; height: 1em;
    vertical-align: -0.125em;   
    margin-right: 0.15em;}
