/* SMT Reviews — plugin-specific layout only.
   The core visuals (card rings, hover, reveal, buttons) come from your global SMT CSS hook.
*/

/* summary / Trustpilot block */
.smt-reviews-under-stars{
  --star-size: 32px; /* or whatever looks right */
}

.smt-reviews{ margin: 0; padding: 0; }
.smt-reviews-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-top: 18px; }
.smt-reviews-title{ margin:0; font-weight:800; letter-spacing:-0.02em; font-size: clamp(18px, 2.2vw, 24px); color: rgba(255,255,255,.92); }
.smt-reviews-link{ font-weight:800; text-decoration:none; border-bottom: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.7); }
.smt-reviews-link:hover{ color: rgba(255,255,255,.92); border-bottom-color: rgba(255,255,255,.28); }

.smt-reviews-grid{ display:grid; gap: 14px; }
.smt-reviews-cols-1 .smt-reviews-grid{ grid-template-columns: 1fr; }
.smt-reviews-cols-2 .smt-reviews-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.smt-reviews-cols-3 .smt-reviews-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 860px){
  .smt-reviews-cols-2 .smt-reviews-grid,
  .smt-reviews-cols-3 .smt-reviews-grid{ grid-template-columns: 1fr; }
}

.smt-review-card{ padding: 18px; }

/* Author row */
.smt-review-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.smt-review-author{ display:flex; gap:12px; min-width: 0; }
.smt-review-avatar{
  width:38px; height:38px; border-radius: 999px; display:grid; place-items:center;
  font-weight:900; color: rgba(0,0,0,.85);
  background: rgba(var(--mint, 52,245,197), 1);
  box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 12px 24px rgba(0,0,0,.35);
  flex: 0 0 auto;
}
.smt-review-author-meta{ min-width:0; }
.smt-review-name{ font-weight:900; color: rgba(255,255,255,.92); line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width: 40ch; }
.smt-review-meta{ margin-top: 4px; display:flex; flex-wrap:wrap; gap: 8px; align-items:center; font-size: 12px; color: rgba(255,255,255,.55); }
.smt-review-verified{ padding: 2px 8px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.7); }

/* Stars — bigger (approx 2x vs older) */
.smt-review-rating{ flex:0 0 auto; }
.smt-review-stars{ display:flex; gap: 6px; color: rgba(var(--mint, 52,245,197), 1); }
.smt-review-star{ width:32px; height:32px; display:block; }
.smt-review-star, .smt-review-star *{ fill: currentColor !important; stroke: none !important; }

.smt-review-headline{ margin: 14px 0 8px; font-size: 15px; font-weight: 900; color: rgba(255,255,255,.9); letter-spacing: -0.01em; }
.smt-review-body{ color: rgba(255,255,255,.72); line-height:1.55; font-size: 14px; }
.smt-review-body p{ margin: 0 0 10px; }
.smt-review-body p:last-child{ margin-bottom:0; }

.smt-review-foot{ margin-top: 12px; }
.smt-review-proof{ font-weight: 800; font-size: 13px; text-decoration:none; color: rgba(255,255,255,.72); border-bottom: 1px solid rgba(255,255,255,.18); }
.smt-review-proof:hover{ color: rgba(255,255,255,.92); border-bottom-color: rgba(255,255,255,.28); }

/* Under-grid summary (no bottom card) */
.smt-reviews-under{ margin-top: 16px; text-align:center; }

.smt-reviews-under-scoreline{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap: 10px;
  align-items:baseline;
  color: rgba(255,255,255,.85);
}
.smt-reviews-under-label{ font-weight: 900; letter-spacing:-0.02em; }
.smt-reviews-under-rating{ font-weight: 900; font-size: 18px; color: rgba(var(--mint, 52,245,197), 1); }
.smt-reviews-under-out, .smt-reviews-under-count{ color: rgba(255,255,255,.6); font-weight: 800; font-size: 13px; }

.smt-reviews-under-brand{ margin-top: 10px; display:flex; flex-direction:column; align-items:center; gap: 10px; }

/* Make the stars in the under-grid block slightly smaller than card stars */
.smt-reviews-under-stars .smt-review-star{ width: 22px; height: 22px; }
.smt-reviews-under-stars .smt-star-wrap{ width: 22px; height: 22px; }
.smt-reviews-under-stars .smt-review-stars{ gap: 4px; }

.smt-reviews-under-brandline{ display:flex; align-items:center; gap: 10px; color: rgba(255,255,255,.8); font-weight: 900; justify-content:center; }
.smt-reviews-under-mark{ width: 22px; height: 22px; color: rgba(var(--mint, 52,245,197), 1); filter: drop-shadow(0 10px 18px rgba(0,0,0,.35)); }

/* Clickable Trustpilot/profile link */
.smt-reviews-under-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 10px;
  text-decoration:none;
  color: inherit;
}
.smt-reviews-under-link:hover{ opacity: .95; }
.smt-reviews-under-cta{
  font-size: 12px;
  font-weight: 900;
  color: rgba(255,255,255,.7);
  border-bottom: 1px solid rgba(255,255,255,.18);
  line-height: 1;
  margin-left: 4px;
}
.smt-reviews-under-link:hover .smt-reviews-under-cta{
  color: rgba(255,255,255,.9);
  border-bottom-color: rgba(255,255,255,.28);
}


/* Date moved to top-right */
.smt-review-date-top{
  font-size: 12px;
  font-weight: 800;
  color: rgba(255,255,255,.55);
  white-space: nowrap;
}

/* Stars bottom-centre */
.smt-review-stars-bottom{
  margin-top: 14px;
  display: flex;
  justify-content: center;
}


/* Fractional star fill system */
.smt-review-stars-fraction{ align-items:center; }
.smt-star-wrap{
  position: relative;
  width: 32px;
  height: 32px;
  display: inline-block;
}
.smt-star-wrap svg{ width: 100%; height: 100%; display:block; }

.smt-star-fill{
  position:absolute;
  inset:0;
  width: var(--fill, 0%);
  overflow:hidden;
}
.smt-star-empty{
  position:absolute;
  inset:0;
}

/* Under-grid summary (v1.1.5) */
.smt-reviews-under{
  margin-top: 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap: 10px;
}

.smt-reviews-under-scoreline{
  display:flex;
  align-items:baseline;
  justify-content:center;
  flex-wrap:wrap;
  gap: 10px;
  color: rgba(255,255,255,.82);
}
.smt-reviews-under-label{ font-weight: 900; letter-spacing:-0.02em; }
.smt-reviews-under-rating{ font-weight: 900; font-size: 18px; color: rgba(var(--mint, 52,245,197), 1); }
.smt-reviews-under-out,
.smt-reviews-under-count{ color: rgba(255,255,255,.6); font-weight: 800; font-size: 13px; }

.smt-reviews-under-brand{ display:flex; flex-direction:column; align-items:center; gap: 8px; }
.smt-reviews-under-stars .smt-review-star{ width: 32px; height: 32px; }
.smt-reviews-under-stars .smt-star-wrap{ width: 32px; height: 32px; }
.smt-reviews-under-stars .smt-review-stars{ gap: 4px; }

.smt-reviews-under-brandline{ display:flex; align-items:center; gap: 10px; font-weight: 900; color: rgba(255,255,255,.8); }
.smt-reviews-under-mark{ width: 22px; height: 22px; color: rgba(var(--mint, 52,245,197), 1); filter: drop-shadow(0 10px 18px rgba(0,0,0,.35)); }


/* See original above stars */
.smt-review-foot-above-stars{
  margin-top: 14px;
  margin-bottom: 10px;
  text-align: center;
}


/* Card layout pinned bottom */
.smt-review-card{
  display:flex;
  flex-direction:column;
}
.smt-review-body{
  /* allow body area to take remaining space so bottom sits at the base */
  flex: 1 1 auto;
}
.smt-review-bottom{
  margin-top: auto; /* pushes to bottom */
  padding-top: 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 10px;
}
.smt-review-bottom .smt-review-proof{
  margin: 0;
}
.smt-review-stars-bottom{
  margin-top: 0; /* handled by gap */
}


/* See original under body, left aligned */
.smt-review-proof-row{
  margin-top: 10px;
}
.smt-review-proof-row .smt-review-proof{
  display:inline-block;
}

/* Stars pinned bottom only */
.smt-review-stars-bottom{
  margin-top: auto;
  padding-top: 16px;
  display:flex;
  justify-content:center;
}


/* v1.1.4 layout fixes: keep "See original" under copy on the left, pin stars to the bottom */
.smt-review-card{
  display:flex;
  flex-direction:column;
}
.smt-review-proof-row{
  margin-top: 10px;
  text-align:left;
}
.smt-review-proof-row .smt-review-proof{
  display:inline-block;
}
.smt-review-stars-bottom{
  margin-top: auto;
  padding-top: 16px;
  display:flex;
  justify-content:center;
}




