/*
 * KVS Testimonials — deliberately thin.
 *
 * Layout comes from Flatsome's own grid (.row / .col / .col-inner), shadows
 * from .box-shadow-N, buttons from .button, and quote typography from
 * .testimonial-text. Only what Flatsome does not already provide lives here,
 * so the block inherits your theme's fonts, colours and radius.
 */

/* Boxed variant --------------------------------------------------------- */
.kvs-t .kvs-t-inner{ height:100%; display:flex; flex-direction:column; }

.kvs-t .kvs-t-boxed{
  background:#fff;
  border-radius:var(--kvs-t-radius, 8px);
  padding:1.5rem 1.5rem 1.25rem;
  transition:transform .18s ease, box-shadow .18s ease;
}
.kvs-t .kvs-t-boxed:hover{ transform:translateY(-2px); }

.kvs-t-style-plain .kvs-t-inner{ padding:0 .35rem; }

/* Quote ----------------------------------------------------------------- */
.kvs-t .kvs-t-quote{ margin:0 0 .35rem; }
.kvs-t .kvs-t-quote p{ margin:0; }
.kvs-t .kvs-t-quote:before{
  content:"\201C";
  display:block;
  font-size:2.6rem;
  line-height:.6;
  opacity:.18;
  margin-bottom:.25rem;
}

.kvs-t .kvs-t-shot{ margin:0 0 1rem; border-radius:6px; overflow:hidden; }
.kvs-t .kvs-t-shot img{ display:block; width:100%; height:auto; }

/* Meta ------------------------------------------------------------------ */
.kvs-t .kvs-t-rule{ margin:.9rem 0 .8rem; }
.kvs-t .kvs-t-meta{ margin-top:auto; }
.kvs-t .testimonial-company{ opacity:.7; font-size:.85em; }

/* Tags — small, quiet, theme-neutral ------------------------------------ */
.kvs-t-tags{ display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.65rem; }
.kvs-t-tag{
  font-size:.68rem;
  letter-spacing:.05em;
  line-height:1.5;
  padding:.15rem .5rem;
  border-radius:3px;
  border:1px solid currentColor;
  opacity:.75;
}
.kvs-t-tag.is-journey{ opacity:.9; }
.kvs-t-tag.is-result{ color:#b8860b; opacity:1; }
.kvs-t-tag.is-domain{ opacity:.55; }

.kvs-t .kvs-t-read{
  display:inline-block;
  margin-top:.75rem;
  font-size:.85em;
  border-bottom:1px solid currentColor;
}

/* Filter chips — Flatsome buttons, lightly adjusted ---------------------- */
.kvs-t-filters{ margin:0 0 .5rem; }
.kvs-t-filter-row{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:.35rem; margin-bottom:.5rem;
}
.kvs-t-filter-label{
  font-size:.7rem; letter-spacing:.08em; opacity:.6;
  min-width:7em; margin-right:.25rem;
}
.kvs-t .kvs-t-chip{
  margin:0;                 /* Flatsome buttons carry a bottom margin */
  border-radius:999px;
  font-size:.78rem;
  min-height:0;
  line-height:1.9;
  padding:0 .95em;
}
.kvs-t .kvs-t-chip-n{
  font-style:normal;
  font-size:.85em;
  opacity:.6;
  margin-left:.35em;
}
.kvs-t-count{ font-size:.82rem; opacity:.6; margin:0 0 1rem; }

/* Filtering + empty states ---------------------------------------------- */
.kvs-t .kvs-t-col[hidden]{ display:none !important; }
.kvs-t-none, .kvs-t-empty{ text-align:center; opacity:.6; padding:2rem 0; }

@media (max-width:549px){
  .kvs-t-filter-label{ min-width:100%; margin-bottom:.1rem; }
  .kvs-t .kvs-t-boxed{ padding:1.25rem 1.25rem 1rem; }
}
