
/* Ajouts limités aux avis, à leur lecture et à la navigation mobile. */
nav { flex-wrap:wrap; }
header { gap:18px; }
:focus-visible { outline:2px solid #D4AF37; outline-offset:5px; }
.reviews-section { background:#080808; }
.reviews-head { max-width:850px; margin:0 auto 28px; text-align:center; }
.reviews-head h2 { font-size:32px; line-height:1.25; margin:8px 0 14px; }
.reviews-head p { color:#ccc; line-height:1.65; }
.reviews-promo { max-width:860px; margin:0 auto 32px; }
.promo-frame { position:relative; }
.promo-frame img { display:block; width:100%; height:auto; border:1px solid #444; border-radius:12px; box-sizing:border-box; }
.promo-hotspot { position:absolute; transform:translateY(-50%); min-height:24px; border-radius:5px; cursor:pointer; }
.promo-discover-hotspot { left:5.1%; top:35.85%; width:18.75%; height:3.9%; }
.promo-reviews-hotspot { left:5.45%; top:84.35%; width:19.9%; height:4.1%; }
.promo-shop-hotspot { left:77.4%; top:95.15%; width:18.25%; height:3.9%; }
.promo-hotspot:hover, .promo-hotspot:focus-visible { outline:2px solid #D4AF37; outline-offset:3px; background:rgba(255,255,255,.08); }
.reviews-promo figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:10px; color:#aaa; font-size:12px; line-height:1.5; }
.reviews-promo figcaption a { color:#D4AF37; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; max-width:1100px; margin:0 auto; scroll-margin-top:20px; }
.review-card { display:block; min-width:0; background:#0c0c0c; border:1px solid #343434; border-radius:14px; overflow:hidden; text-decoration:none; color:#fff; transition:border-color .2s ease,transform .2s ease; }
.review-card:hover { border-color:#D4AF37; transform:translateY(-2px); }
.review-card img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#050505; }
.review-card-label { padding:14px 16px 16px; font-size:13px; line-height:1.5; }
.review-card-label strong { display:block; color:#D4AF37; font-size:16px; margin-bottom:5px; }
.review-card-label small { display:block; color:#aaa; margin-top:10px; }
.review-actions { text-align:center; margin:8px auto 0; }
.review-actions .btn { background:transparent; cursor:pointer; font:inherit; font-weight:bold; }
.review-actions .btn:hover { background:#D4AF37; }
.review-note { max-width:850px; margin:20px auto 0; color:#aaa; font-size:13px; line-height:1.6; text-align:center; }
.hero-review-link { margin-left:10px; }
.review-dialog { width:min(1100px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); box-sizing:border-box; padding:0; color:#fff; background:#0a0a0a; border:1px solid #D4AF37; border-radius:16px; overflow:auto; }
.review-dialog::backdrop { background:rgba(0,0,0,.86); }
.review-dialog-header { display:flex; justify-content:space-between; align-items:center; gap:20px; position:sticky; top:0; padding:16px 20px; background:#101010; z-index:1; border-bottom:1px solid #333; }
.review-dialog-header h2 { font-size:19px; margin:0; color:#D4AF37; }
.review-dialog-close { cursor:pointer; flex-shrink:0; border:1px solid #D4AF37; border-radius:999px; padding:10px 16px; color:#fff; background:#101010; font:inherit; }
.review-dialog-content { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; padding:24px; }
.review-dialog-image { width:100%; height:auto; display:block; }
.review-dialog-copy { min-width:0; color:#ddd; line-height:1.65; }
.review-dialog-copy h3 { font-size:17px; color:#D4AF37; }
.review-scores { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 18px; margin:20px 0; }
.review-scores dt, .review-scores dd { margin:0; border-bottom:1px solid #333; padding-bottom:6px; }
.review-scores dd { color:#D4AF37; font-weight:bold; }
.review-image-note { color:#aaa; font-size:13px; }
.promo-dialog .review-dialog-content { display:block; }
.promo-dialog .review-dialog-copy { margin-top:18px; }
.promo-dialog .review-dialog-image { max-width:1448px; margin:auto; }
[hidden] { display:none !important; }
@media(max-width:900px) {
  .hero-review-link { margin-left:0; margin-top:12px; display:block; text-align:center; }
  .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .review-dialog-content { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  header { padding:20px; gap:16px; }
  header > div { flex:1; }
  nav { order:3; width:100%; gap:10px 16px; }
  nav a { padding:6px 0; }
  .hero, .section { padding:24px; }
  .hero > div, .product-grid > div, .info-grid > div { min-width:0; }
  .reviews-head h2 { font-size:27px; }
  .review-grid { grid-template-columns:1fr; gap:18px; }
  .review-card img { max-height:250px; }
  .review-dialog-header { gap:10px; padding:12px; }
  .review-dialog-header h2 { font-size:17px; }
  .review-dialog-close { padding:9px 12px; font-size:14px; }
  .review-dialog-content { padding:14px; gap:16px; }
  .contact-details a { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .review-card { transition:none; } }
