  :root{
    --tp-radius: 12px;
    --tp-gap: 7px;
    --tp-border: #eeeeee;
    --tp-card-bg: #ffffff;
    --tp-shadow: 0 8px 30px rgba(0,0,0,.07);
    --tp-accent: #00b67a;
  }

  /* Bandeau global */
  .tp-banner{
    width:100%;
    height:130px;
    box-sizing:border-box;
    display:grid;
    grid-template-columns: minmax(230px,230px) 1fr;
    gap:var(--tp-gap);
    padding:0 5px;
    overflow:hidden;
  }

  /* Colonne gauche */
  .tp-left-card{
	box-shadow: 0 4px 11px #00000026;
    box-sizing:border-box;
    border:1px solid #e0e0e0;
    border-radius:10px;
    padding:10px 12px;
    background:#ffffff;
    color:#fff;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
/* image de fond */
  background-image: url("https://www.plaque-funeraire.fr/plugins/wall-trust-pc-new2.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; /* ou "contain" selon le visuel */
  }
  .tp-left-logo{display:inline-block;text-decoration:none;line-height:0}
  .tp-left-stars{display:flex;align-items:center;justify-content:center;min-height:28px}
  .tp-left-stars img{display:block;max-width:100%;height:auto}
  .tp-left-stars-fallback{font-size:1rem;letter-spacing:.06rem;opacity:.9}
  .tp-left-score{color:#333333;text-align:center;font-weight:700;font-size: 25px;}

  /* Colonne droite */
  .tp-right{position:relative; height:100%; overflow:hidden}
  .tp-viewport{position:relative; height:100%; overflow:hidden; margin:0; padding:0; background:transparent;}
  .tp-rotator{position:relative; height:100%;}

  /* Slides */
  .tp-slide{
    position:absolute;
    inset:0;
    box-sizing:border-box;
    border:1px solid var(--tp-border);
    border-radius:.6rem;
    padding:0px 0px;
    background:linear-gradient(180deg,#fff, #fcfcfc);
    box-shadow: var(--tp-shadow);
    opacity:0;
    transform: translateY(6%) scale(.995);
    filter: blur(2px) saturate(.96);
    transition: opacity .6s ease, transform .6s ease, filter .6s ease;
    display:flex;
    flex-direction:column;
  }
  .tp-slide.is-active{
    opacity:1;
    transform: translateY(0) scale(1);
    filter: blur(0) saturate(1);
  }

  /* Entrées/sorties */
  .tp-slide.in-up{ transform: translateY(6%) scale(.995); }
  .tp-slide.in-down{ transform: translateY(-6%) scale(.995); }
  .tp-slide.out-up{
    opacity:0;
    transform: translateY(-6%) scale(.995);
    filter: blur(2px) saturate(.96);
  }
  .tp-slide.out-down{
    opacity:0;
    transform: translateY(6%) scale(.995);
    filter: blur(2px) saturate(.96);
  }

  /* Contenu avis */
  .tp-r-head{display:flex; flex-direction:row; align-items:center; gap:.6rem; margin:0 0 .25rem}
  .tp-stars{flex:0 0 auto}
  .tp-r-title{font-family: Tahoma, Geneva, sans-serif;font-style:normal;font-size:1rem; margin:0; line-height:1.2; font-weight:700}
  .tp-r-author{font-family: Tahoma, Geneva, sans-serif;font-style:normal;font-size:.9rem; opacity:.7}
  .tp-r-text{
	font-family: Tahoma, Geneva, sans-serif;font-style:normal;
    margin:.25rem 0 0;
	font-size: 14px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    line-height:1.35;
        color: #666;
  }

  /* Barre de progression : par défaut 4 s (cohérent avec JS) */
  .tp-progress{
    position:absolute;
    left:10px;
    right:10px;
    bottom:6px;
    height:3px;
    border-radius:2px;
    background:rgba(0,0,0,.06);
    overflow:hidden;
  }
  .tp-progress-bar{
	opacity:0;
    width:0%;
    height:100%;
    background:linear-gradient(90deg, var(--tp-accent), #57d4a8);
    transition: width 4s linear;
  }

  /* Dots */
  .tp-dots{
    position:absolute;
    right:10px;
    bottom:10px;
    display:flex;
    gap:6px;
    z-index: 10;
  }
  .tp-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background: rgba(0,0,0,.18);
    border:0;
    padding:0;
    cursor:pointer;
    transition: transform .2s ease, background-color .2s ease;
  }
  .tp-dot.is-active{
    background: var(--tp-accent);
    transform: scale(1.25);
  }
  .tp-dot:focus-visible{
    outline:2px solid var(--tp-accent);
    outline-offset:2px
  }

  /* Responsive */
  @media (max-width: 820px){
    .tp-banner{grid-template-columns: 230px 1fr}
    .tp-left-score{font-size:1rem}
  }
  @media (max-width: 560px){
    .tp-banner{grid-template-columns: 210px 1fr}
    .tp-r-title{font-size:.95rem}
    .tp-r-text{-webkit-line-clamp:2}
  }

  /* Animations réduites : on coupe les transitions mais on laisse la rotation en JS */
  @media (prefers-reduced-motion: reduce){
    .tp-slide{transition:none; filter:none}
    .tp-progress-bar{transition: none !important}
  }

  /* Accessibilité */
  .visually-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
    border:0!important;
  }