/* THERVIQ Safe Home Additions v65
   Scope: reviews ticker + floating contact only.
   No offers, hero, pricing, services or page layout selectors.
*/

/* Compact customer reviews ticker */
.thv65-reviews-strip{
  width:100%;
  padding:5px 0;
  overflow:hidden;
  background:#07131d;
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
}

.thv65-reviews-bar{
  min-height:46px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
}

.thv65-reviews-label{
  min-height:34px;
  padding:6px 9px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:#fff;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.07);
}

.thv65-review-pulse{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#20d486;
  box-shadow:0 0 0 4px rgba(32,212,134,.08);
}

.thv65-reviews-label b{
  font-size:8px;
  font-weight:900;
}

.thv65-reviews-window{
  min-width:0;
  overflow:hidden;
  direction:ltr;
  -webkit-mask-image:linear-gradient(
    to right,
    transparent,
    #000 5%,
    #000 95%,
    transparent
  );
  mask-image:linear-gradient(
    to right,
    transparent,
    #000 5%,
    #000 95%,
    transparent
  );
}

.thv65-reviews-track{
  width:max-content;
  display:flex;
  align-items:center;
  gap:28px;
  animation:thv65ReviewsTicker 50s linear infinite;
  will-change:transform;
}

.thv65-reviews-strip:hover .thv65-reviews-track{
  animation-play-state:paused;
}

.thv65-reviews-group{
  display:flex;
  align-items:center;
  gap:28px;
}

.thv65-review-item{
  direction:rtl;
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  color:#dce7ec;
  font-size:8px;
}

.thv65-stars{
  color:#e5aa17;
  font-size:8px;
  letter-spacing:.4px;
}

.thv65-review-copy{
  max-width:290px;
  overflow:hidden;
  color:#c1d0d7;
  text-overflow:ellipsis;
}

.thv65-review-item>b{
  color:#75e3ad;
  font-size:7px;
  font-weight:900;
}

.thv65-review-item::after{
  content:"";
  width:4px;
  height:4px;
  margin-right:8px;
  border-radius:50%;
  background:#31505e;
}

@keyframes thv65ReviewsTicker{
  from{
    transform:translate3d(0,0,0);
  }
  to{
    transform:translate3d(
      calc(-50% - 14px),
      0,
      0
    );
  }
}

/* Floating quick actions */
.thv65-floating-actions{
  position:fixed;
  z-index:950;
  right:16px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  gap:7px;
}

.thv65-float{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
  box-shadow:0 10px 26px rgba(5,20,28,.18);
  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

.thv65-float:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 30px rgba(5,20,28,.23);
}

.thv65-float img{
  width:23px;
  height:23px;
  display:block;
  object-fit:contain;
}

.thv65-float svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.thv65-float.is-wa{
  background:#fff;
  border:1px solid #d6e6de;
}

.thv65-float.is-call{
  color:#fff;
  background:#0b1e2d;
  border:1px solid rgba(255,255,255,.12);
}

.thv65-float.is-route{
  color:#fff;
  background:#0a9558;
  border:1px solid rgba(255,255,255,.14);
}

@media(max-width:700px){
  .thv65-reviews-bar{
    grid-template-columns:82px minmax(0,1fr);
    gap:7px;
  }

  .thv65-reviews-label{
    min-height:32px;
    justify-content:center;
  }

  .thv65-review-copy{
    max-width:175px;
  }

  .thv65-floating-actions{
    right:11px;
    bottom:12px;
    gap:6px;
  }

  .thv65-float{
    width:44px;
    height:44px;
  }

  .thv65-float img{
    width:21px;
    height:21px;
  }

  .thv65-float svg{
    width:19px;
    height:19px;
  }
}

@media(max-width:390px){
  .thv65-review-copy{
    max-width:138px;
  }
}

@media(prefers-reduced-motion:reduce){
  .thv65-reviews-track{
    animation:none!important;
  }
}
