/**
 * Contraste et netteté — fichier isolé (Chrome / Edge / Safari).
 * N’altère pas les couleurs de marque : ajustements légers uniquement.
 */

html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

body {
  text-rendering: optimizeLegibility;
}

img,
svg,
video {
  max-width: 100%;
}

img {
  image-rendering: auto;
  -ms-interpolation-mode: bicubic;
}

/* Logos, pictos, SVG : netteté prioritaire */
.logo,
.tf-logo img,
#header .logo,
.brand-section img,
.hit-search-form > img,
img.fr-flag,
img.img-livraison,
img.img-tresorerie,
.blockreassurance__icon svg,
.tf-ico,
.tf-ico svg {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Photos produit / cartes : léger gain de piqué, sans effet HDR */
.product-miniature img,
.product-thumbnail img,
.featured-products img,
.product-accessories img,
#products img,
.bft-card__media img,
.ttsearch-item-link img,
.promoblock__img {
  image-rendering: -webkit-optimize-contrast;
  filter: contrast(1.05) saturate(1.02);
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Slider : pas de filter (calques / perfs), juste un rendu plus net */
.ciblo-img,
.image-slider-block img.slide-bg-image,
#carousel img.slide-bg-image {
  image-rendering: -webkit-optimize-contrast;
  backface-visibility: hidden;
}

/* Textes trop gris → un cran plus lisibles */
.product-title a,
.h3.product-title a,
.product-short-desc,
.product-short-desc p,
.bft-card__spec,
.bft__subtitle,
.blockreassurance__desc,
.blockreassurance__desc p,
.tf-desc,
.tf-tagline,
.tf-hours,
.tf-legal__meta {
  -webkit-font-smoothing: subpixel-antialiased;
}

.product-title a,
.h3.product-title a {
  color: #2a3340;
}

.product-short-desc,
.product-short-desc p {
  color: #3d4654;
}

html.traciel-contrast-more .product-title a,
html.traciel-contrast-more .h3.product-title a {
  color: #1a1f28;
}

html.traciel-contrast-more .product-short-desc,
html.traciel-contrast-more .product-short-desc p,
html.traciel-contrast-more .bft-card__spec,
html.traciel-contrast-more .blockreassurance__desc,
html.traciel-contrast-more .tf-desc {
  color: #2c3542;
}

html.traciel-contrast-more .product-miniature img,
html.traciel-contrast-more .promoblock__img,
html.traciel-contrast-more .bft-card__media img {
  filter: contrast(1.08) saturate(1.04);
}

@media (prefers-contrast: more) {
  .product-title a,
  .h3.product-title a {
    color: #1a1f28;
  }

  .product-short-desc,
  .product-short-desc p,
  .bft-card__spec,
  .bft__subtitle,
  .blockreassurance__desc,
  .tf-desc {
    color: #2c3542;
  }

  .product-miniature img,
  .product-thumbnail img,
  .featured-products img,
  .bft-card__media img,
  .promoblock__img {
    filter: contrast(1.08) saturate(1.03);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .product-miniature img,
  .promoblock__img,
  .bft-card__media img {
    filter: contrast(1.04);
  }
}
